专栏名称: EDN电子技术设计
EDN China电子技术设计为电子设计工程师和设计经理人提供前沿深度的电子资讯、设计实例应用方案。
今天看啥  ›  专栏  ›  EDN电子技术设计

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

EDN电子技术设计  · 公众号  ·  · 2024-10-05 08:51

文章预览

今天接着说串口,这次讨论的是串口发送函数写法的问题。串口发送可以通过轮询、中断或者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:先写数据,后判断TXE 写法4:先写数据,后判断TC 写法5: ………………………………

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