|
本帖最后由 胡勝朋 于 2020-2-25 10:25 編輯
利用普中的51開發(fā)板和stm32f1開發(fā)板,其中51的開發(fā)板只做為發(fā)射端,stm32的開發(fā)板只作為接收端,另外在網(wǎng)上的很多NRF的例程,都是有自動(dòng)應(yīng)答(即在發(fā)送端發(fā)送完數(shù)據(jù)完成,接收端接收到數(shù)據(jù)之后會(huì)返回給發(fā)送端數(shù)據(jù),來(lái)表示自己已經(jīng)接收到數(shù)據(jù)),在我的代碼中我將這些刪掉很多代碼,因?yàn)槲以趧傞_始學(xué)的時(shí)候,特別怕麻煩,一看到官方的代碼,就頭大,所以我是51發(fā)數(shù)據(jù),51開發(fā)板上提供了四個(gè)獨(dú)立按鍵,k1~k4,我是按下一個(gè)按鍵,就給32發(fā)送一個(gè)數(shù)據(jù),(如果不按的話,就不發(fā)送)k1~k4,分別發(fā)送上(up)下(down)左(left)右(right),那么怎么樣判斷32是否接收到數(shù)據(jù),在32的循環(huán)中,我將數(shù)據(jù)區(qū)的值,顯示在液晶屏上,如果接受到了數(shù)據(jù),那么就會(huì)顯示,up,down,left,right其中一個(gè),具體是哪個(gè),取決于你按下的按鍵就可以了,另外32接受到數(shù)據(jù)之后,我沒有讓它返回給發(fā)送端一個(gè)值,也就是說發(fā)射端并不知道對(duì)方是否接收到,不過我親測(cè),一按下就可以接收到,另外在32的代碼中,我將每一個(gè)功能的函數(shù),都寫成一個(gè)自定義函數(shù),這樣在主函數(shù)中就會(huì)顯得簡(jiǎn)潔,看起來(lái)舒服些。 nRF24L01是由NORDIC生產(chǎn)的工作在2.4GHz~2.5GHz的ISM 頻段的單片無(wú)線收發(fā)器芯片,輸出功率頻道選擇和協(xié)議的設(shè)置可以通過SPI 接口進(jìn)行設(shè)置,發(fā)射數(shù)據(jù)時(shí),首先將nRF24L01配置為發(fā)射模式:接著把接收節(jié)點(diǎn)地址TX_ADDR和有效數(shù)據(jù)TX_PLD按照時(shí)序由SPI口寫入nRF24L01緩存區(qū),TX_PLD必須在CSN為低時(shí)連續(xù)寫入,而TX_ADDR在發(fā)射時(shí)寫入一次即可,然后CE置為高電平并保持至少10μs,延遲130μs后發(fā)射數(shù)據(jù);若自動(dòng)應(yīng)答開啟,那么nRF24L01在發(fā)射數(shù)據(jù)后立即進(jìn)入接收模式,接收應(yīng)答信號(hào)(自動(dòng)應(yīng)答接收地址應(yīng)該與接收節(jié)點(diǎn)地址TX_ADDR一致)。如果收到應(yīng)答,則認(rèn)為此次通信成功,TX_DS置高,同時(shí)TX_PLD從TXFIFO中清除;若未收到應(yīng)答,則自動(dòng)重新發(fā)射該數(shù)據(jù)(自動(dòng)重發(fā)已開啟),若重發(fā)次數(shù)(ARC)達(dá)到上限,MAX_RT置高,TXFIFO中數(shù)據(jù)保留以便再次重發(fā);MAX_RT或TX_DS置高時(shí),使IRQ變低,產(chǎn)生中斷,通知MCU。最后發(fā)射成功時(shí),若CE為低則nRF24L01進(jìn)入空閑模式1;若發(fā)送堆棧中有數(shù)據(jù)且CE為高,則進(jìn)入下一次發(fā)射;若發(fā)送堆棧中無(wú)數(shù)據(jù)且CE為高,則進(jìn)入空閑模式2。
在32的開放板上,我主要實(shí)現(xiàn)的功能是1:利用超聲波模塊測(cè)出障礙物的距離,并顯示在液晶屏上
2:利用ds18b20模塊測(cè)環(huán)境溫度,并顯示在液晶屏上
3:測(cè)出32開發(fā)板芯片內(nèi)部的溫度,并顯示在液晶屏上
4:NRF的狀態(tài)是否存在,存在顯示success,不存在顯示error
5:顯示NRF接收到的值
注:完整的功能是:1:能夠進(jìn)行超聲波避障的小車 2:自動(dòng)尋跡的小車,3:通過51來(lái)遙控的小車,具體是避障還是尋跡還是遙控,可以通過NRF在51開發(fā)板上選擇,不過由于時(shí)間緊,缺少一些小零件,沒有完全實(shí)現(xiàn),但是主要功能已經(jīng)完成,我會(huì)盡快更新。本工程的代碼以壓縮包的形式上傳在附件中,另外有功能實(shí)現(xiàn)的效果圖(圖片的形式),以及所用到的模塊的使用方法(PPT的形式)。
|
-
-
-
-
-
-
-
合集.7z
2020-2-24 18:49 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
2.62 MB, 下載次數(shù): 116, 下載積分: 黑幣 -5
評(píng)分
-
查看全部評(píng)分
|