这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » STM32初始化中使能串口发送中断(USART_IT_TXE/TC)的疑问?

共6条 1/1 1 跳转至

STM32初始化中使能串口发送中断(USART_IT_TXE/TC)的疑问?

高工
2014-02-18 16:22:18     打赏

    在测试STM32串口发送完成中断的应用中,遇到了一个很奇怪的问题,在初始化完成之后直接就进入了串口中断函数的发送完成服务中断函数部分。本测试代码是在原来的基础上更改的,原来只使能了接受中断,此次仅仅是在初始化中加入了使能发送完成中断,所以问题的重点就处在了这个使能发送完成中断了。

    查阅资料发现,在使能了发送完成中断之后,硬件就会紧接着发送一个空字符,那么发送完成之后不就进入了中断服务函数了。一般的解决方法是在初始化中不使能发送完成中断。仅是在发送数据的函数中使能发送完成中断,然后在中断函数中Disable此中断。我也试了下没有问题。

    我想请教下,大家一般都是怎么处理发送完成中断(USART_IT_TXE或USART_IT_TC)的呢?

有篇介绍STM32串口中断的文章写的不错,来着分享下:

http://hi.baidu.com/kiraversace/item/82f0f7f4f2692e36e2e3bdef




关键词: STM32     USART_IT_TC/TXE    

专家
2014-02-18 20:58:26     打赏
2楼

一个字符发送完成时,才能进入下一个字符的中断!


高工
2014-02-18 21:30:02     打赏
3楼

在串口初始化中尝试过使能发送中断没?


工程师
2014-02-18 21:39:59     打赏
4楼
敬请高手。

院士
2014-02-19 00:43:28     打赏
5楼

这个必须要测试啊~~

话说这个发送完成中断还是非常有用的,尤其在rs485通讯中……


高工
2014-02-19 18:38:44     打赏
6楼
测试过了,我觉得在初始化中开启接收中断没大意义,因为必须在其接受中断服务函数中将其Disable掉,再在需要发送的函数中将其Enable,我就是测试Modbus 485呢,多多指点啊

共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]