STM32中断式发送特点和RS485方向控制
2016-10-08 来源:eefocus
STM32的数据发送有两个中断标志,一个是发送数据寄存器空标志,一个是发送完毕标志。两个标志都可以引起中断.
进入单片机查看更多内容>>
要以中断的方式发送一个数据包,流程是这样的:
1.设置RS485的方向为发送,使能发送寄存器空中断,使能完毕进入串口中断。
2.串口中断里读取串口状态,并填充一个数据到发送数据寄存器,硬件自动清除发送数据寄存器空标志,串口数据发送开始。
3.串口发送完一个数据,发送数据寄存器变空,再进入中断,继续填充下一个数据,直到最后一个数据填充完, 使能串口
发送完毕中断。
4.最后一个数据发送完毕,再次进入中断, 清除发送数据寄存器空标志,清除发送完毕中断标志,清除这两个中断标志
的使能位,设置RS485的方向为接收.
注: 如果最后一个数据放入数据发送寄存器,就立刻设置RS485的方向为接收,对方将会丢失一个数据。发送完毕中断和
51单片机的TI标志功能是一样的。唯有发送寄存器空标志是51单片机所没有的,使用这个标志可保证发送数据波形的连续性,
减少空闲时间。
在连续的数据包发送时,先开启寄存器空中断,进入发送中断,在发送中断里填充数据到发送寄存器,最后一个数据填充完,开启发送完毕中断,最后一个数据发送完毕,再次进入中断,就可以控制RS485的方向为接收了.
上一篇:STM32定时器中断设置方法
下一篇:STM32精确延时函数
相关文章