STM32中斷式發送特點和RS485方向控制
要以中斷的方式發送一個數據包,流程是這樣的:
1.設置RS485的方向為發送,使能發送寄存器空中斷,使能完畢進入串口中斷。
2.串口中斷里讀取串口狀態,并填充一個數據到發送數據寄存器,硬件自動清除發送數據寄存器空標志,串口數據發送開始。
3.串口發送完一個數據,發送數據寄存器變空,再進入中斷,繼續填充下一個數據,直到最后一個數據填充完, 使能串口
發送完畢中斷。
4.最后一個數據發送完畢,再次進入中斷, 清除發送數據寄存器空標志,清除發送完畢中斷標志,清除這兩個中斷標志
的使能位,設置RS485的方向為接收.
注: 如果最后一個數據放入數據發送寄存器,就立刻設置RS485的方向為接收,對方將會丟失一個數據。發送完畢中斷和
51單片機的TI標志功能是一樣的。唯有發送寄存器空標志是51單片機所沒有的,使用這個標志可保證發送數據波形的連續性,
減少空閑時間。
在連續的數據包發送時,先開啟寄存器空中斷,進入發送中斷,在發送中斷里填充數據到發送寄存器,最后一個數據填充完,開啟發送完畢中斷,最后一個數據發送完畢,再次進入中斷,就可以控制RS485的方向為接收了.


評論