找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

新唐M4系列芯片怎么利用中断方式进行485通信?

[复制链接]
跳转到指定楼层
楼主
Imleehy 发表于 2024-9-20 14:25:55 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
迄今用过M451、M467、M487系列的MCU,发现有个问题,所有的UART的发送中断,都只有FIFO空中断(THREINT),实际中测试中发现,发送FIFO中断发生后,FIFO的最后一个字节只是从FIFO到了移位寄存器,但移位寄存器的数据并没有完整发送的物理线上,这在用RS485的时候就有点尴尬,因为RS485要切换发送引脚。
用STM32系列做个类比,STM32发送有两个中断,TXE和TC,前者表示BUFF转移到了移位寄存器,后者TC表示移位寄存器为空(也就是真正的、彻底的发送完成),所以可以在TC中断完成后切换RS485的引脚,新唐少了一个类似的TC中断,所以有点麻烦。
所以请问各位同行,你们在遇到使用中断的模式下切换RS485的时候,都是怎么处理的?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具 举报

推荐
Angus 发表于 2024-9-23 12:23:56 | 只看该作者
这个寄存器的28位 , 指示发送结束。

回复 支持 1 反对 0

使用道具 举报

5#
 楼主| Imleehy 发表于 2024-10-10 10:32:57 | 只看该作者
Angus 发表于 2024-9-23 12:23
这个寄存器的28位 , 指示发送结束。

谢谢,原来是我用错了,我之前用的是【22】位
回复 支持 反对

使用道具 举报

地板
Angus 发表于 2024-9-27 10:00:23 | 只看该作者
如果想用中断方式,这个寄存器的 22位,置1就可以,


回复 支持 反对

使用道具 举报

板凳
Angus 发表于 2024-9-23 12:27:20 | 只看该作者
M451 系列也是这个寄存器的 28位


回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU