首页 > 其他 > 详细

(十一).从零开始学stm32--USART_FLAG_TXE和USART_FLAG_TC

时间:2020-05-13 22:49:38      阅读:262      评论:0      收藏:0      [点我收藏+]

技术分享图片重点看2部分图

USART_FLAG_TXE:发送缓冲区空标志
USART_FLAG_TC:发送完成标志

串口发送的流程:
1)发送使能位置1,发送器先发送一个空闲帧
2)往数据寄存器(TDR)中写入要发送的数据。
3)数据从数据寄存器转入发送移位寄存器,并在最后一位数据转入完成后,置USART_FLAG_TXE为1,表示数据寄存器为空,下一组数据可以进入了。
4)数据进入发送移位寄存器后,一位一位的通过Tx发送出去,当最后一位数据发送完成后,置USART_FLAG_TC为1,表示移位寄存器为空。

void Usart_SendByte(USART_TypeDef* USARTx,uint8_t byte)
{
	//#define USART1              ((USART_TypeDef *) USART1_BASE)
	//把USART1_BASE强制转换成USART_TypeDef *的指针
	
	while(USART_GetFlagStatus(USARTx,USART_FLAG_TXE) == RESET)
	{
	}//判断是否可以发送
	
	USART_SendData(USARTx,byte);
	
	while(USART_GetFlagStatus(USARTx,USART_FLAG_TC) == RESET)
	{
	}//等待发送完成
	
}

(十一).从零开始学stm32--USART_FLAG_TXE和USART_FLAG_TC

原文:https://www.cnblogs.com/jiutianzhiyu/p/12885225.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!