avr串口发送的问题,望热心人解答

2019-03-24 20:56发布

为什么发送的时候是判断UDREn是否为1,而不是判断TXCn是否为1呢?书上说只要发送移位寄存器和发送缓冲寄存器为空就会置位TXCn的啊,初始化后这两个寄存器难道不是空吗?不解啊,刚学,很多不懂的地方 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
仙猫
1楼-- · 2019-03-25 04:17
 请考虑一下过程:发送数据先被程序写入缓冲寄存器,然后由硬件把数据从缓冲寄存器转入移位寄存器并逐位对外传出。程序从UDRE看到的是缓冲寄存器是否可写,若可写可写完就走人,不必关心此后的移位和串行发送。
 程序从TXC看到的是数据对外发送完毕,程序根据TXC写数据也是可以的,但会浪费一些时间,因为TXC的置位要迟于UDRE。

一周热门 更多>