久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
新手快速搞通NRF24L01通信
[打印本頁]
作者:
DN13
時間:
2018-11-30 11:58
標題:
新手快速搞通NRF24L01通信
很多單片機初學者做NRF24L01通信后,一個星期也搞不通,最后越搞越迷茫,直至放棄(有木有)。其實NRF24L01是一個非常容易操控的東西。
大部分人使用的NRF24L01模塊都如上圖所示,上面模塊的原理圖如下
24L01.png
(446.5 KB, 下載次數: 43)
下載附件
2018-11-30 11:57 上傳
回到正題,大家看NRF24L01模塊的原理圖,實際上就是一個芯片,連了一些必要的電容電阻電感和一個天線,然后留出了和
單片機
通信
的SPI口和IRQ中斷引腳。
NRF24L01,任何
單片機
可以驅動,帶硬件SPI口的單片機,可以配置好SPI外設以后驅動,沒有硬件SPI口的單片機,可以用IO口模擬SPI時序通信。
重點:NRF24L01是一個數字芯片,內部有若干寄存器,什么數據寄存器、配置寄存器、狀態寄存器等。單片機通過SPI口,首先配置好NRF24L01的配置寄存器,諸如頻道,通道,地址,接收還是發送模式等等。然后分兩種情況,一、如果配置為了發送模式,就可以發送數據了,發送完數據以后,IRQ引腳會拉低,所以觀察IRQ引腳就可以知道有沒有發送成功;二、如果配置為了接收模式,就需要不斷的觀察IRQ引腳,IRQ引腳正常是高電平,如果接收到數據,就會變成低電平,所以觀察這個引腳就知道有沒有接收到數據。
新手在做NRF24L01的通信程序時,最好拿兩個相同的單片機,做相同的程序(除了一個配置未發送,一個配置為接收)。
重中之重:首先要確保單片機和NRF24L01能夠正常的SPI通信,這個就好比你和一個阿拉伯人說話,你告它先去家樂福買瓶牛奶,再去沃爾瑪買個雞腿,然后….,但是如果阿拉伯人根本聽不懂你說話,那么…就沒有然后了。你用單片機給NRF24L01寫配置寄存器,輸入地址,輸入頻道…稍等,你配置了半天,NRF24L01的寄存器真的如你所想配置好了嗎?不確定?這就需要驗證。驗證方法?太容易了,找一個可讀可寫的寄存器,你先寫進去,然后再讀出來,如果數據一樣,那么你的SPI通信就正常,你大可放心的配置了,如果讀出來的數據和寫進去的數據不一樣,恭喜你,你再和不懂漢語的阿拉伯人說了半天廢話,你還是先搞通SPI再說吧。這里我給你一個寄存器,就是地址寄存器,可讀可寫,所以你可以用地址寄存器驗證一個SPI通信是否正常,下面是我寫的驗證函數:
/********************************************/
/* 函數功能:檢測24L01是否存在 */
/* 返回值; 0 存在 */
/* 1 不存在 */
/********************************************/
uchar NRF24L01_Check(void)
{
uchar check_in_buf[5]={0x11,0x22,0x33,0x44,0x55};
uchar check_out_buf[5]={0x00};
NRF_CE=0;
NRF24L01_Write_Buf(WRITE_REG+TX_ADDR, check_in_buf, 5);
NRF24L01_Read_Buf(READ_REG+TX_ADDR, check_out_buf, 5);
if((check_out_buf[0] == 0x11)&&\
(check_out_buf[1] == 0x22)&&\
(check_out_buf[2] == 0x33)&&\
(check_out_buf[3] == 0x44)&&\
(check_out_buf[4] == 0x55))return 0;
else return 1;
如果你不確保你的SPI通信正常,請先確定以后再進行下面的內容,否則就可能要對牛彈琴了。
收發數據的程序,要先判斷“數據是否發送出去了”和“是否接收到了”,而不要直接判斷發送和接收的數據是否一致。
例如:接收模塊,if(IRQ==0)點亮
LED
1,當程序執行后,當你看到LED1亮了,哇,接收到了。
當你確定接收到數據以后,你再判斷接收到的數據和你發送的數據是否一致。
例如:接收模塊,if(IRQ==0)把接收到的數據取出來,if(rec[0]==0x88),哇,和我發的一樣。
記住了嗎?做程序要循序漸進,而不是直接寫完。瑞生多年親自試驗,不管多大的程序,循序漸進的寫,速度是最快的
作者:
odiwuano
時間:
2019-9-27 08:25
學習了
作者:
冷月楓
時間:
2019-10-4 09:01
樓主能發一份程序嗎?
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久在看
|
高清视频一区二区三区
|
免费成人在线网站
|
亚洲午夜视频
|
欧美久久久电影
|
国产激情在线
|
黄色在线免费观看
|
最新超碰
|
成人欧美一区二区三区在线播放
|
国产精品国产三级国产aⅴ原创
|
蜜臀久久99精品久久久久野外
|
粉嫩一区二区三区性色av
|
一区欧美
|
日韩一级电影免费观看
|
国产91一区二区三区
|
国产专区视频
|
免费视频一区二区三区在线观看
|
亚洲免费视频一区
|
免费观看日韩av
|
奇米超碰在线
|
国产精品久久久久久久久久
|
免费一级黄色电影
|
caoporn国产精品免费公开
|
欧洲精品久久久久毛片完整版
|
中文字幕在线视频免费视频
|
欧美日韩在线不卡
|
国产精品96久久久久久
|
欧美 日韩 国产 成人 在线
|
免费一级欧美在线观看视频
|
成人在线a
|
a在线视频观看
|
大陆一级毛片免费视频观看
|
91麻豆精品国产91久久久久久
|
色综合久久88色综合天天
|
久久久www成人免费精品张筱雨
|
久久国产精品视频
|
日韩精品一区二区三区
|
亚洲 中文 欧美 日韩 在线观看
|
日韩免费成人av
|
国产精品日本一区二区不卡视频
|
黄色av网站在线免费观看
|