打印
[技术问答]

请问大家谁 TC 和 TXE中断的区别呀?

[复制链接]
1315|16
手机看帖
扫描二维码
随时随地手机跟帖
楼主
xch| | 2022-4-4 17:40 | 显示全部楼层 回帖奖励 |倒序浏览
TC 是发射任务的最后一个BIT 已经放送出去。TXE 是指放送缓冲区已经空闲,可以接收新的发送数据。接收中断与TXE 无关。

使用特权

评论回复
沙发
xch| | 2022-4-5 15:27 | 显示全部楼层
土司Apple 发表于 2022-4-5 09:41
接收中断是和TXE无关,但是都是进入中断触发函数对吧!触发RC中断之后 读完buff TXE是不是会被置位,因为 ...

"因为发送接收都用的一个buf嘛。这么理解对不!" 这句话不对。

发送和接收buffer共用地址。物理上是两buffer,一个仅能写入发送数据,另外一个仅能读出接收到的最后一个数据。

使用特权

评论回复
板凳
xch| | 2022-4-5 15:39 | 显示全部楼层
土司Apple 发表于 2022-4-5 09:41
接收中断是和TXE无关,但是都是进入中断触发函数对吧!触发RC中断之后 读完buff TXE是不是会被置位,因为 ...

下面那段服务程序写的不太对。有可能出问题。
一般原则:
1、不仅仅判断状态标记而且同时判断是否允许该标记产生中断。
2、每个中断分支服务完成后就立刻从中断返回。其他判断基本上99.99xxx%是多余的。如果万一同时还存在未服务的中断,MCU会重新进入中断服务。按照概率可以减少MCU多余操作。
3、缺少TXC中断服务。一般写入一串字符的最后一个字节到 TX BUFFER 之后,就必须禁止TXE中断。同时使能TC中断。进入TXC中断服务后,禁止TXC和TXE中断,关闭发送模块。下次启动发送时,打开TXE中断(多字节)或者TC中断(单字节)。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则