一種短距離無線傳輸的CSMA/CA協議實現方法
(2)CSMA_MAC協議及3次重發的實現
流程如圖2所示。本文引用地址:http://www.104case.com/article/157343.htm
2 無線狀態轉換圖
程序上電初始化后,第一次的無線狀態為INITIAL_STATE初始化狀態。初始化狀態后,無線模塊進入RX_STATE接收狀態,將模塊的接收天線打開。而后進入WAITING_FOR_ACK等待狀態,等待接收無線數據。當接收到無線數據時,根據WT_TxbufferO_Flag來判斷此時接收到的數據幀為ACK還是數據幀:如果WTTxbuffer0_Flag=0xff,則說明此時接收到的數據幀為ACK,進入WAITING_ACK處理,處理完畢,無線模塊重新進入RX_STATE接收狀態;如果WT_TxbufferO-Flag=0x00,則說明此時接收到的數據為無線發送來的數據幀,進入GOOD_PACKET好包狀態,處理完畢,無線模塊重新進入RX_STATE接收狀態。
評論