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