找回密码
 立即注册

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的时候,都是怎么处理的?
回复

使用道具 举报

Angus 发表于 2024-9-23 12:23:56 | 显示全部楼层
这个寄存器的28位 , 指示发送结束。
屏幕截图 2024-09-23 111851.png
回复 支持 1 反对 0

使用道具 举报

Angus 发表于 2024-9-23 12:27:20 | 显示全部楼层
M451 系列也是这个寄存器的 28位

屏幕截图 2024-09-23 111851.png
回复 支持 反对

使用道具 举报

Angus 发表于 2024-9-27 10:00:23 | 显示全部楼层
如果想用中断方式,这个寄存器的 22位,置1就可以,

屏幕截图 2024-09-27 095924.png
回复 支持 反对

使用道具 举报

 楼主| Imleehy 发表于 2024-10-10 10:32:57 | 显示全部楼层
Angus 发表于 2024-9-23 12:23
这个寄存器的28位 , 指示发送结束。

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

使用道具 举报

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

本版积分规则

新唐MCU