yhyeefocus 发表于 2016-12-14 11:36:50

STM32F 串口发送中断 的问题?

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

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

谢谢!

附图


wenyangzeng 发表于 2016-12-22 07:28:05

本帖最后由 wenyangzeng 于 2016-12-29 10:29 编辑

把数据送DR后发送才开始,才有发送中断。

无薪税绵 发表于 2016-12-22 08:15:49

中断退出后,如果没有数据发送,是不会再进入中断的。

wudianjun2001 发表于 2016-12-22 08:16:35

你的意思是发一串数据,最后一个字节发送完成后的中断怎么处理吧,这个软件判断下啊,数据是最后一个字节中断的话,直接跳出,不执行就可以了,

5265325 发表于 2016-12-22 08:47:32

:lol:lol:lol:lol

斜阳__ 发表于 2016-12-22 08:50:39

直接使用库函数多省事儿,不用自己做判断

myfocus-2048857 发表于 2016-12-22 08:54:43

签到,学习      

cldym 发表于 2016-12-22 10:04:48

签到,学习      

peter001 发表于 2016-12-22 10:57:30

最后一个发送完毕,也会进入中断,这时要能判断出是最后一个并且避免多余的发送

ataudio 发表于 2016-12-22 11:17:42

库函数完成,一步就到位了。要继续深入就去查看库函数怎么判断寄存器的。
页: [1] 2
查看完整版本: STM32F 串口发送中断 的问题?