STM32F串口发送中断的问题?

2019-07-14 15:59发布

串口发送中断的配置如下:
见附图,控制寄存器 1( USART_CR1)位 6 TCIE 置1;

请教:
1. 当 数据发送完成后,再没有 要发送的数据了,此时,程序 是不是 还会 再次 进入 串口发送中断程序里面 ?理由是: TCIE 为1,TC为1 ;
2. 为了避免上述 问题的出现,我的想法是,当数据发送完成后,将 控制寄存器 1( USART_CR1)位 6 TCIE 置0 。不知是否可行 ?

谢谢!

附图
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
jerry181855
1楼-- · 2019-07-15 10:57
最后一个发送完毕,也会进入中断,这时要能判断出是最后一个并且避免多余的发送
烈阳异丙醇
2楼-- · 2019-07-15 15:25
库函数完成,一步就到位了。要继续深入就去查看库函数怎么判断寄存器的。
kdsnvjsnjk
3楼-- · 2019-07-15 19:44
1、会再进入中断。
2、可行。如果不关闭发送中断,必须在中断函数中清除TC标志,否则会不断进入发送中断,因为TC标志为 1。
官方例程中就是在中断中关闭中断。
wenxueshu
4楼-- · 2019-07-16 00:26
最后一个发送完毕,也会进入中断,这时要能判断出是最后一个并且避免多余的发送
60user189
5楼-- · 2019-07-16 04:41
 精彩回答 2  元偷偷看……
csw_ying
6楼-- · 2019-07-16 09:23
签到,学习

一周热门 更多>