打印
[STM32F1]

M32F的串口1 DMA发送问题

[复制链接]
700|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wodeyebing|  楼主 | 2015-10-16 11:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用STM32F103C8T6的串口1连接DMA用正常模式连续发送6个数据,开DMA1_4传输完成中断但每次都是只发送完4个就产生了传输完成中断。用的是485芯片,每次一发送完后就要立即将485转为接收状态,每次都收不到最后2字节,用示波器看,每次都是明明串口还在输出数据中,而中断传来的完成信号就把485切换为输入状态了,开启的是传输完成中断,实在搞不明白!
沙发
zchong| | 2015-10-17 17:49 | 只看该作者
中断用的不对呗,不要用DMA的中断,用串口本身的USART_IT_TC中断,Please try!

使用特权

评论回复
板凳
戈卫东| | 2015-10-17 22:26 | 只看该作者
在DMA的完成中断里面设置串口的TC中断允许,在串口的TC中断里面把485收发器切换到接收

使用特权

评论回复
地板
zchong| | 2015-10-18 13:36 | 只看该作者
戈卫东 发表于 2015-10-17 22:26
在DMA的完成中断里面设置串口的TC中断允许,在串口的TC中断里面把485收发器切换到接收 ...

没必要吧,按照手册,楼主这种情况直接用TC中断即可,没必要再去管DMA的中断

使用特权

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

本版积分规则

1

主题

2

帖子

1

粉丝