专栏名称: EEPW
关注EEPW电子产品世界网,获取电子行业的最新资讯和最具价值的技术参考。
目录
相关文章推荐
今天看啥  ›  专栏  ›  EEPW

串口发送函数到底要怎么写?

EEPW  · 公众号  ·  · 2024-09-23 11:15

文章预览

上一篇文章是关于串口接收Overrun的问题,今天接着说串口,这次讨论的是串口发送函数写法的问题。串口发送可以通过轮询、中断或者DMA方式,这里我们讨论轮询发送方式。 串口发送有两个关键的标志位:Transmit Data Register Empty Flag和Transmit Complete Flag,各家MCU寄存器名字可能略有不同,但是其实都是一个含义。比如ST MCU叫TXE和TC NXP MCU叫TDRE和TC 复旦微MCU叫TXBE和TXSE TXE/TDRE/TXBE为1表示发送数据寄存器为空,数据已经发送到了移位寄存器里,这时就可以发送数据寄存器里写数据了。 TC/TXSE为1表示发送数据寄存器为空,移位寄存器数据也为空,整个发送过程都完成了。 网络上有很多关于这个话题的讨论,其中有一篇文章还专门针对以下5种串口发送函数的写法做了分析和好坏讨论 写法1:先判断TXE,再写数据 写法2:先判断TC,再写数据 写法3:先写数据,后判 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览