51单片机串口发送数据时会产生中断吗

如题所述

如果开了串口中断,接收,发送都会产生中断。建议,都用中断方式。串口接收到数据后,如果没有读出来,又接收到数据了,前面的一个数据就丢掉了。特别是当你接收到字符串的时候,你关中断,或者用查询方式,就容易掉数据。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
可以不中断发数据,当然如果你需要的话,打开中断开关,然后中断函数里面处理追问

那就是如果开串口中断,接收会产生中断,发送数据也会产生中断了?

追答

如果你开了串口中断,那么发送、接收数据时候都会产生中断。
一般而言,接收数据时候才用中断,发送数据时候关掉中断直接发送。因为你什么时候需要发送数据完全根据代码功能来判断,但是什么时候接收数据就不好说,如果不用中断来接收的话,只能用查询法不停循环来检测,很影响代码的实时性,尤其当要实现的功能比较多的时候,肯定得才用中断来接收串口数据,查询法是没法用的。

本回答被提问者采纳
第2个回答  2012-11-29
串口发送数据完成后,TI位会置1,如果你打开了全局中断和串口中断,就会产生中断。
第3个回答  2012-11-29
中断的方式有两种,一种是程序中断,到我得到一个什么样的指令或数据进行中断,还有一个就是外部中断,当给外部中断一个信号,所有的程序停止,做你给中断的指令,运行完成后,会跳出中断,等待下一次中断信号,不知道你用的是哪一种
相似回答