昨天登錄百度賬號,無意間發現漏看了好多朋友的私信,其中不少是找我探討關于NRF2401模塊的。從12年到14年的信件都有(平時很少注意系統提示信息。。。)。
hust-MC.jpg
實在不好意思,也許很多朋友已經搞定這個模塊了,也許有的還在研究。用了半天的時間找出了相關資料并整理好,在這里統一共享給大家,希望能夠幫到大家。
NRF24L01是在2012年全國電子設計大賽中使用過的一款無線通信模塊,通過SPI向芯片寫入數據從而控制芯片發送、接收消息。24L01的數據手冊下載鏈接可以在文章的末尾找到。下面是我總結的幾點使用步驟,大家也可以直接跳過下面的講解,因為下載鏈接里面已經有非常完整的配套數據手冊。如果在使用過程中遇到什么問題,可以隨時來這里給我留言,大家一起討論,相互學習~~
操作步驟:
- 模塊初始化。初始狀態時,LED、CE、SCK引腳均拉低,CSN拉高,SPI初始完成。隨后分別設置SPI接收,發送的地址。設置工作頻道、數據長度、發射頻率等信息。模塊隨即進入等待狀態。
- 設置工作模式。拉低CE設置為stand by I 模式,配置SPI讀寫寄存器,隨后拉高CE,短暫延時。配置好工作模式(所有工作模式及相應寄存器位詳見數據手冊)。
- 發送:打包好數據,通過NRF24L01_TxPacket()函數發送數據包;
接收:通過NRF24L01_RxPacket()等待數據的到來。
PS:代碼中有多處短延時,由于SPI對于時序要求高,一定要查清楚所用主控芯片的晶振,指令周期。延時不當會直接導致模塊無法正常工作!
大家在使用中還有什么疑問,歡迎隨時來討論。
另外,很多朋友通過百度知道向我詢問源代碼,但是由于百度賬號登陸的不多,未能即時回復。如果大家需要配套源代碼,可以在下面留下聯系方式,我會即時的將源代碼發送給各位,希望能夠幫到大家~~ 謝謝!
文檔鏈接:http://yun.baidu.com/share/link?shareid=1590497368&uk=67973003