这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » USART——TXC和TSBE的区别?

共2条 1/1 1 跳转至

USART——TXC和TSBE的区别?

高工
2023-08-20 22:07:09     打赏
USART——TXC和TSBE的区别?

高工
2023-08-20 22:15:22     打赏
2楼

1 遇到问题

在使用USART轮询发送数据完成后进入待机模式,会出现最后1个字节无法完整发送完成的情况,经过实验后,是标志位的选择不合理。以下记录了“发送数据完成标志”、“发送数据缓冲器为空标志”的学习、调试过程。


2 寄存器定义

3 实验现象3.1 使用“TXBE”正常发送3个字节数据

  关键代码  USART_TxData(USART1, '1');  while(USART_ReadStatusFlag(USART1,  USART_FLAG_TXBE) == RESET);
现象
结论数据未完全发送完,标志位已置1


3.2 使用“TXC”正常发送3个字节数据

  关键代码  USART_TxData(USART1, '1');  while(USART_ReadStatusFlag(USART1,  USART_FLAG_TXC) == RESET);
现象
结论在每一个字节发送完成后再置1


3.3 使用“TXBE”正常发送3个字节数据后立刻进入standby模式

  关键代码  USART_TxData(USART1, '1');  while(USART_ReadStatusFlag(USART1,  USART_FLAG_TXBE) == RESET);  
  PMU_EnterSTOPMode(PMU_REGULATOR_ON,PMU_STOP_ENTRY_WFI);
现象
结论无法发完数据


3.4 使用“TXC”正常发送3个字节数据后立刻进入standby模式

  关键代码  USART_TxData(USART1, '1');  while(USART_ReadStatusFlag(USART1,  USART_FLAG_TXC) == RESET);  
  PMU_EnterSTOPMode(PMU_REGULATOR_ON,PMU_STOP_ENTRY_WFI);
现象
结论可以发完数据



共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]