一種短距離無(wú)線傳輸?shù)腃SMA/CA協(xié)議實(shí)現(xiàn)方法
(2)CSMA_MAC協(xié)議及3次重發(fā)的實(shí)現(xiàn)
流程如圖2所示。本文引用地址:http://m.butianyuan.cn/article/157343.htm
(3)無(wú)線接收數(shù)據(jù)至串口的實(shí)現(xiàn)
流程如圖3所示。
2 無(wú)線狀態(tài)轉(zhuǎn)換圖
程序上電初始化后,第一次的無(wú)線狀態(tài)為INITIAL_STATE初始化狀態(tài)。初始化狀態(tài)后,無(wú)線模塊進(jìn)入RX_STATE接收狀態(tài),將模塊的接收天線打開(kāi)。而后進(jìn)入WAITING_FOR_ACK等待狀態(tài),等待接收無(wú)線數(shù)據(jù)。當(dāng)接收到無(wú)線數(shù)據(jù)時(shí),根據(jù)WT_TxbufferO_Flag來(lái)判斷此時(shí)接收到的數(shù)據(jù)幀為ACK還是數(shù)據(jù)幀:如果WTTxbuffer0_Flag=0xff,則說(shuō)明此時(shí)接收到的數(shù)據(jù)幀為ACK,進(jìn)入WAITING_ACK處理,處理完畢,無(wú)線模塊重新進(jìn)入RX_STATE接收狀態(tài);如果WT_TxbufferO-Flag=0x00,則說(shuō)明此時(shí)接收到的數(shù)據(jù)為無(wú)線發(fā)送來(lái)的數(shù)據(jù)幀,進(jìn)入GOOD_PACKET好包狀態(tài),處理完畢,無(wú)線模塊重新進(jìn)入RX_STATE接收狀態(tài)。
評(píng)論