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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5049|回復: 1
打印 上一主題 下一主題
收起左側

2.4G模塊NRF24L01(按鍵點燈)stm32程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:232364 發表于 2017-9-11 11:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
2.4G模塊程序
stm32單片機源程序如下(按鍵點燈):
  1. #include <stdio.h>
  2. #include "led.h"
  3. #include "lcd.h"
  4. #include "key.h"
  5. #include "24l01.h"
  6. #include "bsp_usart_debug.h"
  7. /*********************************************************************************
  8. *************************MCU啟明 STM32F103MINI開發板******************************
  9. *********************************************************************************/

  10. int main(void)
  11. {         
  12.         u8 key,mode;
  13.         u16 t=0;                         
  14.         u8 tmp_buf[33];                    
  15.         delay_init();                     //延時函數初始化          
  16.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);         //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
  17.         LED_Init();                             //LED端口初始化
  18.         LCD_Init();        //初始化LCD
  19.         KEY_Init();         //按鍵初始化       
  20. USARTx_DEBUG_Init();
  21.         NRF24L01_Init();            //初始化NRF24L01

  22.         BRUSH_COLOR=RED;//設置字體為紅色
  23.   LCD_DisplayString(10,10,24,"Illuminati STM32F1");
  24.                 printf("Illuminati STM32F1\r\n");
  25.   LCD_DisplayString(10,40,16,"Author:Clever");
  26.                 printf("Author:Clever\r\n");
  27.         LCD_DisplayString(30,80,24,"NRF24L01 TEST");       
  28.                 printf("NRF24L01 TEST\r\n");
  29.          
  30.         while(NRF24L01_Check())        //檢查NRF24L01是否在位.       
  31.         {
  32.                 LCD_DisplayString(60,130,16,"NRF24L01 Error");
  33.                         printf("NRF24L01 Error\r\n");
  34.                 delay_ms(200);
  35.                 LCD_Fill_onecolor(60,130,239,130+16,WHITE);
  36.                 delay_ms(200);
  37.         }                                                                  
  38.         LCD_DisplayString(60,130,16,"NRF24L01 OK");
  39.                 printf("NRF24L01 OK\r\n");
  40.         while(1)
  41.         {
  42.                         key_scan(0);
  43.                         NRF24L01_RX_Mode();
  44.                  //delay_ms(500);
  45.                         printf("NRF24L01 RX_Mode\r\n");
  46.                         if(NRF24L01_RxPacket(tmp_buf)==0)//一旦接收到信息,則顯示出來.
  47.                         {
  48.                                   tmp_buf[32]=0;//加入字符串結束符
  49.                                         printf("%s",tmp_buf);
  50.                                         LED0=!LED0;
  51.                         }
  52.                         if(keydown_data==KEY0_DATA)
  53.                         {
  54.                                 printf("NRF24L01 TX_Mode\r\n");
  55.                     NRF24L01_TX_Mode();
  56.                                 //delay_ms(500);
  57.                                         for(t=0;t<32;t++)
  58.                                         {
  59.                                                 tmp_buf[t]=t;       
  60.                                         }           
  61.                                         tmp_buf[32]=0;//加入結束符       
  62.                                         if(NRF24L01_TxPacket(tmp_buf)==TX_OK)
  63.                                         {
  64.                                                         printf("Sended DATA:\r\n");
  65.                                                         printf("%s",tmp_buf);
  66.           
  67.                                         }else
  68.                                         {                                                                                          
  69.                                                   printf("Send Failed\r\n");   
  70.                                         }
  71.                         }
  72.         }
  73. //         while(1)//在該部分確定進入哪個模式!
  74. //        {
  75. //                key_scan(0);
  76. //                if(keydown_data==KEY0_DATA)
  77. //                {
  78. //                        mode=0;   
  79. //                        break;
  80. //                }else if(keydown_data==KEY1_DATA)
  81. //                {
  82. //                        mode=1;
  83. //                        break;
  84. //                }
  85. //                t++;
  86. //                if(t==100)LCD_DisplayString(10,150,16,"KEY0:RX_Mode  KEY1:TX_Mode"); //閃爍顯示提示信息
  87. //                                printf("KEY0:RX_Mode  KEY1:TX_Mode\r\n");
  88. //                 if(t==200)
  89. //                {       
  90. //                        LCD_Fill_onecolor(10,150,230,150+16,WHITE);
  91. //                        t=0;
  92. //                }
  93. //                delay_ms(5);          
  94. //        }   
  95. //         LCD_Fill_onecolor(10,150,240,166,WHITE);//清空上面的顯示                  
  96. //         BRUSH_COLOR=BLUE;//設置字體為藍色          
  97. //        if(mode==0)//RX模式
  98. //        {
  99. //                LCD_DisplayString(60,150,16,"NRF24L01 RX_Mode");       
  100. //                        printf("NRF24L01 RX_Mode\r\n");
  101. //                LCD_DisplayString(60,170,16,"Received DATA:");
  102. //                        printf("Received DATA:\r\n");
  103. //                NRF24L01_RX_Mode();                  
  104. //                while(1)
  105. //                {                                                                                   
  106. //                        if(NRF24L01_RxPacket(tmp_buf)==0)//一旦接收到信息,則顯示出來.
  107. //                        {
  108. //                                tmp_buf[32]=0;//加入字符串結束符
  109. //                                LCD_DisplayString(0,190,16,tmp_buf);
  110. //                                        printf("%s",tmp_buf);
  111. //                        }else delay_us(100);          
  112. //                        t++;
  113. //                        if(t==10000)//大約1s鐘改變一次狀態
  114. //                        {
  115. //                                t=0;
  116. //                                LED0=!LED0;
  117. //                        }                                     
  118. //                };       
  119. //        }else//TX模式
  120. //        {                                                            
  121. //                LCD_DisplayString(60,150,16,"NRF24L01 TX_Mode");
  122. //                        printf("NRF24L01 TX_Mode\r\n");
  123. //                NRF24L01_TX_Mode();
  124. //                mode=' ';//從空格鍵開始  
  125. //                while(1)
  126. //                {                                                              
  127. //                        if(NRF24L01_TxPacket(tmp_buf)==TX_OK)
  128. //                        {
  129. //                                LCD_DisplayString(60,170,16,"Sended DATA:");
  130. //                                        printf("Sended DATA:\r\n");
  131. //                                LCD_DisplayString(0,190,16,tmp_buf);
  132. //                                        printf("%s",tmp_buf);
  133. //                                key=mode;
  134. //                                for(t=0;t<32;t++)
  135. //                                {
  136. //                                        key++;
  137. //                                        if(key>('~'))key=' ';
  138. //                                        tmp_buf[t]=key;       
  139. //                                }
  140. //                                mode++;
  141. //                                if(mode>'~')mode=' ';            
  142. //                                tmp_buf[32]=0;//加入結束符                  
  143. //                        }else
  144. //                        {                                                                                          
  145. //                                 LCD_DisplayString(60,170,16,"Send Failed ");
  146. //                                printf("Send Failed\r\n");
  147. //                                LCD_Fill_onecolor(0,188,240,218,WHITE);//清空上面的顯示                          
  148. //                        };
  149. //                        LED0=!LED0;
  150. //                        delay_ms(1500);                                    
  151. //                };
  152. //        }     
  153. }


復制代碼

所有資料51hei提供下載:
NRF24L01(按鍵點燈).rar (305.89 KB, 下載次數: 112)


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

使用道具 舉報

沙發
ID:346668 發表于 2018-7-4 15:21 | 只看該作者
沒有人看嗎?
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品免费视频 | 亚洲视频www | 在线视频一区二区 | 中文字幕欧美日韩 | 91精品国产综合久久婷婷香蕉 | 亚洲精品久久视频 | 欧美一级免费看 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 久久99深爱久久99精品 | 国产免费av网 | 久色激情 | 91婷婷韩国欧美一区二区 | 国产精品高潮呻吟 | 99久久免费观看 | 中文在线一区二区 | 国产在线拍偷自揄拍视频 | 久久精品久久综合 | 玖玖玖在线观看 | 五月激情综合 | 久久久久99 | 美女天天干天天操 | 精品在线一区 | www.操.com| 韩国成人在线视频 | 国产精品一区一区 | 日韩精品1区2区 | 91看片免费 | 久久大陆| 久久久成人动漫 | 久久免费高清视频 | 91成人午夜性a一级毛片 | 91精品国产综合久久久久久首页 | 成人性生交大片免费看中文带字幕 | 国产精品亚洲第一区在线暖暖韩国 | 国产特级毛片 | 亚洲精品成人在线 | 午夜视频网站 | m豆传媒在线链接观看 | 免费精品 | 国产乱码一二三区精品 | 九九伊人sl水蜜桃色推荐 |