久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: STM32中2.4G無(wú)線通信NRF24L01例程+資料 [打印本頁(yè)]

作者: zixinya    時(shí)間: 2019-4-18 09:08
標(biāo)題: STM32中2.4G無(wú)線通信NRF24L01例程+資料
STM32中2.4G無(wú)線通信例程


按照如下方式在電路板上安排的管腳
       8  7
       6  5
       4  3
       2  1
各管腳如下定義:
8.IRQ            7.MISO
6.MOSI      5.SCK
4.CSN        3.CE  
2.VCC        1.GND
具體說(shuō)明:
3.CE       芯片的模式控制線。在 CSN 為低的情況下,CE 協(xié)同NRF24L01 的CONFIG 寄存器共同決定NRF24L01 的狀態(tài)(參照NRF24L01 的狀態(tài)機(jī))。                 
4.CSN      為芯片的片選線  CSN 為低電平芯片工作
5.SCK      為芯片控制的時(shí)鐘線(SPI時(shí)鐘)
6.MOSI     為芯片控制數(shù)據(jù)線(Master output slave input)    主輸出  從輸入
7.MISO     芯片控制數(shù)據(jù)線  (Master input slave output)  master 碩士 主人 船長(zhǎng)   slave  從屬奴隸                                                 主輸入  從輸出
8.IRQ     中斷信號(hào)引腳。中斷時(shí)變?yōu)榈碗娖剑碞RF24L01內(nèi)部發(fā)生中斷時(shí)IRQ 引腳從高電平變?yōu)榈碗娖健R_會(huì)在以下三種情況變低:Tx FIFO 發(fā)完并且收到ACK(使能ACK情況下)、Rx FIFO 收到數(shù)據(jù)、達(dá)到最大重發(fā)次數(shù)。
中斷:
nRF24L01 的中斷引腳(IRQ)為低電平觸發(fā),當(dāng)狀態(tài)寄存器中TX_DS(數(shù)據(jù)發(fā)送完成中斷位)、RX_DR(接收數(shù)據(jù)中斷位) 或MAX_RT(達(dá)到最多次重發(fā)中斷位)為高時(shí)觸發(fā)中斷。當(dāng)MCU 給中斷源寫(xiě)‘1’時(shí),中斷引腳被禁止。可屏蔽中斷可以被IRQ 中斷屏蔽。通過(guò)設(shè)置可屏蔽中斷位為高,則中斷響應(yīng)被禁止。默認(rèn)狀態(tài)下所有的中斷源是被禁止的。
在寫(xiě)寄存器之前一定要進(jìn)入待機(jī)模式或掉電模式


單片機(jī)源程序如下:
  1. /* 下載程序后,首先要按下按鍵K_UP或者K_DOWN,按鍵K_UP是接收,K_DOWN是發(fā)送,兩塊開(kāi)發(fā)板
  2.         只能一個(gè)作為發(fā)送一個(gè)作為接收,否則兩個(gè)都為接收或者發(fā)送將進(jìn)入死循環(huán)。接收的時(shí)候
  3.         指示燈閃爍  24L01的最大SPI時(shí)鐘為10Mhz因此在設(shè)定SPI時(shí)鐘的時(shí)候要低于10M*/

  4. #include "sys.h"
  5. #include "delay.h"
  6. #include "usart.h"
  7. #include "led.h"
  8. #include "button.h"
  9. #include "lcd_driver.h"
  10. #include "gui.h"
  11. #include "nrf24l01.h"


  12. void lcd_display()           //LCD初始化顯示
  13. {
  14.         TFT_ClearScreen(BLACK);
  15.         GUI_Show12ASCII(10,10,"PRECHIN",GREEN,BLACK);
  16.         GUI_Show12ASCII(10,30,"123456",GREEN,BLACK);
  17.         GUI_Show12ASCII(10,50,"NRF24L01 Test!",GREEN,BLACK);        
  18.         GUI_Show12ASCII(10,70,"2015-11-13",GREEN,BLACK);
  19.         GUI_Show12ASCII(10,90,"K_UP:RX_Mode  K_DOWN:TX_Mode",GREEN,BLACK);
  20.         

  21. }
  22. void data_pros()        //數(shù)據(jù)處理函數(shù)
  23. {
  24.         u8 key;
  25.         static u8 mode=2;  //模式選擇
  26.         u8 rx_buf[33]="123456 ";
  27.         static u16 t=0;
  28.         while(1)                //等待按鍵按下進(jìn)行選擇發(fā)送還是接收
  29.         {
  30.                 key=keyscan(0);        
  31.                 if(key==K_UP_PRESS)           //接收模式
  32.                 {
  33.                         mode=0;
  34.                         GUI_Show12ASCII(10,140,"RX_Mode",RED,BLACK);        
  35.                         GUI_Show12ASCII(10,160,"Received Data:",RED,BLACK);
  36.                         GUI_Show12ASCII(120,160,"                ",RED,BLACK);
  37.                         break;
  38.                 }
  39.                 if(key==K_DOWN_PRESS)         //發(fā)送模式
  40.                 {
  41.                         mode=1;
  42.                         GUI_Show12ASCII(10,140,"TX_Mode",RED,BLACK);
  43.                         GUI_Show12ASCII(10,160,"Send Data:    ",RED,BLACK);
  44.                         GUI_Show12ASCII(120,160,"              ",RED,BLACK);
  45.                         break;
  46.                 }        
  47.         }
  48.         
  49.         if(mode==0)                //接收模式
  50.         {        
  51.                 NRF24L01_RX_Mode();        
  52.                 while(1)
  53.                 {
  54.                         if(NRF24L01_RxPacket(rx_buf)==0) //接收到數(shù)據(jù)顯示
  55.                         {
  56.                                 rx_buf[32]='\0';
  57.                                 GUI_Show12ASCII(120,160,rx_buf,RED,BLACK);
  58.                                 break;                        
  59.                         }
  60.                         else
  61.                         {
  62.                                 delay_ms(1);
  63.                         }
  64.                         t++;
  65.                         if(t==1000)
  66.                         {
  67.                                 t=0;
  68.                                 led1=~led1; //一秒鐘改變一次狀態(tài)
  69.                         }        
  70.                 }        
  71.         }
  72.         if(mode==1)                 //發(fā)送模式
  73.         {
  74.                                 
  75.                 NRF24L01_TX_Mode();
  76.                 while(1)
  77.                 {
  78.                         if(NRF24L01_TxPacket(rx_buf)==TX_OK)
  79.                         {
  80.                                 GUI_Show12ASCII(120,160,rx_buf,RED,BLACK);
  81.                                 break;        
  82.                         }
  83.                         else
  84.                         {
  85.                                 GUI_Show12ASCII(120,160,"Send Data Failed  ",RED,BLACK);
  86.                
  87.                         }        
  88.                 }        
  89.         }
  90. }

  91. int main(void)
  92. {        
  93.         u8 i=0;
  94.         delay_init();
  95.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  96.         uart_init(9600);
  97.         TFT_Init();        
  98.         led_init();
  99.         button_init();
  100.         NRF24L01_Init();
  101.         lcd_display();
  102.         while(NRF24L01_Check())         //檢測(cè)NRF24L01是否存在
  103.         {
  104.                 GUI_Show12ASCII(140,50,"Error   ",RED,BLACK);                        
  105.         }
  106.         GUI_Show12ASCII(140,50,"Success",RED,BLACK);

  107.         while(1)
  108.         {                                
  109.                 data_pros();           
  110.                 i++;
  111. ……………………

  112. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
2.4G無(wú)線通信應(yīng)用.7z (4.16 MB, 下載次數(shù): 318)



作者: 阿瓦塞翻譯    時(shí)間: 2020-4-12 23:47
試試看,也許有用呢

作者: cikeri    時(shí)間: 2021-2-22 10:21

我也試試看,也許有用呢
作者: 42151    時(shí)間: 2021-3-13 19:48
請(qǐng)問(wèn)可以用f103c8t6嗎
作者: 魚(yú)缸沒(méi)有魚(yú)    時(shí)間: 2021-5-9 00:47
資料很有幫助!!!!學(xué)習(xí)了!!
作者: bynaruto    時(shí)間: 2021-6-14 15:41
amazing code ... nice work




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: a亚洲精品 | 婷婷毛片 | 午夜欧美| 四虎在线观看 | 久久久高清 | 欧美一级免费 | 日韩欧美亚洲 | 亚洲高清视频在线 | 国产精品国产a | 中文字幕人成乱码在线观看 | 五月天天色 | 成人高清在线视频 | 一区二区三区中文字幕 | 中文字幕免费视频 | 一级片网址 | www.亚洲国产精品 | 亚洲第一网站 | 一本大道久久a久久精二百 国产成人免费在线 | 久久精品日产第一区二区三区 | 亚洲九色 | 欧美日韩一区二区三区四区 | 欧美福利影院 | 国产在线视频一区二区 | 久久不射电影网 | 在线三级网址 | 亚洲精品自在在线观看 | 亚洲国产成人精品女人久久久 | 中国大陆高清aⅴ毛片 | 国产免费一区二区三区 | 最近最新中文字幕 | 人人爽人人爽人人片av | 欧美一区二区三区在线观看视频 | 中文字幕高清 | 成人性视频在线播放 | 久久免费大片 | 亚洲精品久久久久久国产精华液 | 亚洲国产网站 | 亚洲视频在线看 | 国产亚洲一区二区三区在线观看 | 日本一区二区高清不卡 | 国产一区二区三区在线看 |