發射端一:stm32f103c8t6, 0.96寸OLED 屏幕,nrf24l01無線模塊,發送數字0
發射端二:stm32f103c8t6, 0.96寸OLED 屏幕,nrf24l01無線模塊,發送數字1
接收端:(戰艦V3開發板) stm32f103zet6, LCD屏幕,nrf24l01無線模塊,分別接受數字0和1
單片機源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "key.h"
- #include "sys.h"
- #include "lcd.h"
- #include "usart.h"
- #include "24l01.h"
-
- int main(void)
- {
- //u8 key,mode;
- //u16 t=0;
- u8 tmp_buf;
- u8 tmp_buf1[3];
- u8 data0;
- u8 data1[3];
- delay_init(); //延時函數初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置中斷優先級分組為組2:2位搶占優先級,2位響應優先級
- uart_init(115200); //串口初始化為115200
- LED_Init(); //初始化與LED連接的硬件接口
- KEY_Init(); //初始化按鍵
- LCD_Init(); //初始化LCD
- NRF24L01_Init(); //初始化NRF24L01
- POINT_COLOR=RED; //設置字體為紅色
- LCD_ShowString(30,50,200,16,16,"WarShip STM32");
- LCD_ShowString(30,70,200,16,16,"NRF24L01 TEST");
- LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
- LCD_ShowString(30,110,200,16,16,"2015/1/17");
- while(NRF24L01_Check())
- {
- LCD_ShowString(30,130,200,16,16,"NRF24L01 Error");
- delay_ms(200);
- LCD_Fill(30,130,239,130+16,WHITE);
- delay_ms(200);
- }
- LCD_ShowString(30,130,200,16,16,"NRF24L01 OK");
- POINT_COLOR=BLUE;//設置字體為藍色
-
- LCD_ShowString(30,150,200,16,16,"NRF24L01 RX_Mode");
- LCD_ShowString(30,170,200,16,16,"Received DATA0:");
- LCD_ShowString(30,190,200,16,16,"Received DATA1:");
-
-
- delay_ms(1000);
- while(1)
- {
- NRF24L01_CE=0;
- NRF24L01_RX_Mode();
- if(NRF24L01_RxPacket(&tmp_buf)==0)//一旦接收到信息,則顯示出來.
- {
- data0=tmp_buf;
- LCD_ShowString(170,170,2,16,16,&data0);
- }
- NRF24L01_CE=1;
- delay_ms(2000);
-
-
-
- NRF24L01_CE=0;
- NRF24L01_RX_Mode1();
- if(NRF24L01_RxPacket(tmp_buf1)==0)//一旦接收到信息,則顯示出來.
- {
- data1[0]=* tmp_buf1;
- LCD_ShowString(170,190,16,16,16,&data1[0]);
- }
- NRF24L01_CE=1;
- delay_ms(2000);
- }
-
-
-
-
- }
復制代碼
所有資料51hei提供下載:
nrf24l01 二發一收.7z
(239.77 KB, 下載次數: 144)
2019-5-17 06:15 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|