欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2766|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

NRF24L01中斷接收的stm32源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:385874 發(fā)表于 2018-8-13 16:55 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
基于stm32f103c8t6  nrf中斷接收實(shí)驗(yàn),僅供參考!!!!

單片機(jī)源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "lcd.h"
  6. #include "usart.h"         
  7. #include "24l01.h"          



  8. int main(void)
  9. {         
  10.         u8 key,mode;
  11.         u16 t=0;                            
  12.         delay_init();                     //延時(shí)函數(shù)初始化          
  13.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置中斷優(yōu)先級(jí)分組為組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
  14.         uart_init(115200);                 //串口初始化為115200
  15.         LED_Init();                                          //初始化與LED連接的硬件接口
  16.         KEY_Init();                                        //初始化按鍵
  17.         LCD_Init();                                           //初始化LCD  
  18.         NRF24L01_Init();                    //初始化NRF24L01
  19.         POINT_COLOR=RED;                        //設(shè)置字體為紅色
  20.         LCD_ShowString(30,50,200,16,16,"WarShip STM32");       
  21.         LCD_ShowString(30,70,200,16,16,"NRF24L01 TEST");       
  22.         LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
  23.         LCD_ShowString(30,110,200,16,16,"2015/1/17");
  24.         while(NRF24L01_Check())
  25.         {
  26.                 LCD_ShowString(30,130,200,16,16,"NRF24L01 Error");
  27.                 delay_ms(200);
  28.                 LCD_Fill(30,130,239,130+16,WHITE);
  29.                 delay_ms(200);
  30.         }
  31.         LCD_ShowString(30,130,200,16,16,"NRF24L01 OK");          
  32.         while(1)
  33.         {       
  34.                 key=KEY_Scan(0);
  35.                 if(key==KEY0_PRES)
  36.                 {
  37.                         mode=0;   
  38.                         break;
  39.                 }else if(key==KEY1_PRES)
  40.                 {
  41.                         mode=1;
  42.                         break;
  43.                 }
  44.                 t++;
  45.                 if(t==100)LCD_ShowString(10,150,230,16,16,"KEY0:RX_Mode  KEY1:TX_Mode"); //閃爍顯示提示信息
  46.                 if(t==200)
  47.                 {       
  48.                         LCD_Fill(10,150,230,150+16,WHITE);
  49.                         t=0;
  50.                 }
  51.                 delay_ms(5);          
  52.         }   
  53.         LCD_Fill(10,150,240,166,WHITE);//清空上面的顯示                  
  54.         POINT_COLOR=BLUE;//設(shè)置字體為藍(lán)色          
  55.         if(mode==0)//RX模式
  56.         {
  57.                 LCD_ShowString(30,150,200,16,16,"NRF24L01 RX_Mode");       
  58.                 LCD_ShowString(30,170,200,16,16,"Received DATA:");       
  59.                 NRF24L01_RX_Mode();                  
  60.                 while(1)
  61.                 {                                                                                   
  62.                         if(nrf_flag&RX_OK)//一旦接收到信息,則顯示出來.
  63.                         {
  64.                                 nrf_flag&=~RX_OK;
  65.                                 tmp_buf[32]=0;//加入字符串結(jié)束符
  66.                                 LCD_ShowString(0,190,lcddev.width-1,32,16,tmp_buf);   
  67.                         }else delay_us(100);          
  68.                         t++;
  69.                         if(t==10000)//大約1s鐘改變一次狀態(tài)
  70.                         {
  71.                                 t=0;
  72.                                 LED0=!LED0;
  73.                         }                                     
  74.                 };       
  75.         }else//TX模式
  76.         {                                                            
  77.                 LCD_ShowString(30,150,200,16,16,"NRF24L01 TX_Mode");       
  78.                 NRF24L01_TX_Mode();
  79.                 mode=' ';//從空格鍵開始  
  80.                 while(1)
  81.                 {                                                              
  82.                         if(NRF24L01_TxPacket(tmp_buf)==TX_OK)
  83.                         {
  84.                                 LCD_ShowString(30,170,239,32,16,"Sended DATA:");       
  85.                                 LCD_ShowString(0,190,lcddev.width-1,32,16,tmp_buf);
  86.                                 key=mode;
  87.                                 for(t=0;t<32;t++)
  88.                                 {
  89.                                         key++;
  90.                                         if(key>('~'))key=' ';
  91.                                         tmp_buf[t]=key;       
  92.                                 }
  93.                                 mode++;
  94.                                 if(mode>'~')mode=' ';            
  95.                                 tmp_buf[32]=0;//加入結(jié)束符                  
  96.                         }else
  97.                         {                                                                                          
  98.                                 LCD_Fill(0,170,lcddev.width,170+16*3,WHITE);//清空顯示                          
  99.                                 LCD_ShowString(30,170,lcddev.width-1,32,16,"Send Failed ");
  100.                         };
  101.                         LED0=!LED0;
  102.                         delay_ms(1500);                                    
  103.                 };
  104.         }
  105. }


復(fù)制代碼

所有資料51hei提供下載:
無線通信實(shí)驗(yàn).rar (1.02 MB, 下載次數(shù): 39)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

樓主
ID:581628 發(fā)表于 2019-8-20 17:47 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表