2022山东高职省Lora赛题

1|02022山东高职省Lora赛题

1|1题目

4、LoRa 通讯与控制
请选手选择两块 LoRa 模块实现无线通讯功能,并根据任务要求完成相关功
能的开发,并发布程序到两块 LoRa 模块中,通上电源等待裁判评判。
任务要求:

本题提供了工程项目供选手使用。两个 LoRa 模块我们暂时命名为 LoRa(A)
和 LoRa(B)。

在 LoRa(A)模块上安装“光照温湿度二合一模块”。“光照温湿度二合
一模块”可以从工位上 ZigBee 设备安装区借用,开发完成后将该模块装
回工位 ZigBee 设备上。

“竞赛参数信息”中提供了本题所需使用的频率信息。

设备上电,LoRa(A)和 LoRa(B)两个模块的 LED1 和 LED2 灯都不亮。LoRa
(A)模块允许显示菜单有“光照”、“温度”、“湿度”、“LED1 开”、
“LED 关”、“LED2 呼吸灯”、“LED2 闪烁”。可以通过 LoRa(A)的 Ke
y2 键控制选择菜单箭头向上移动,可以通过 LoRa(A)的 Key3 键控制选择
菜单箭头向下移动,具体界面效果如下图所示
image-20221121203220675
LoRa(A)选择具体菜单时,点击 LoRa(A)的 Key4 键,可以控制 LoRa(B)
显示菜单显示对应的功能,具体显示内容如下:

选择“光照”菜单,LoRa(B)显示界面参考下图
image-20221121203226480
选择“温度”菜单,LoRa(B)显示界面参考下图
image-20221121203238600
选择“湿度”菜单,LoRa(B)显示界面参考下图
image-20221121203252220
选择“LED1 开”菜单,LoRa(B)的 LED1 灯亮起同时 LoRa(B)的显示
屏显示界面参考下图(显示图片“信号灯-2.bm”p)

选择“LEDimage-202211212032576961 关”菜单,LoRa(B)的 LED1 灯熄灭同时 LoRa(B)显示界
面参考下图(显示图片“信号灯-0.bmp”)
image-20221121203302840
选择“LED2 呼吸灯”菜单,LoRa(B)的 LED2 实现呼吸灯效果,同时
LoRa(B)的显示屏循环显示三张图片(“信号灯-0.bmp”、“信号灯
-1.bmp”、“信号灯-2.bmp”),显示界面参考下

image-20221121203309274


选择“LED2 闪烁”菜单,LoRa(B)的 LED2 实现间隔 0.5 秒闪烁效果,
LoRa(B)显示屏循环显示两张图片(“信号灯-0.bmp”、“信号灯-1.
bmp”),显示界面参考下图
image-20221121203330326
当 LoRa(A)模块选择“光照”菜单时,再点击 Key2,菜单不再向上移动。
当 LoRa(A)模块选择“LED2 闪烁”菜单时,再点击 Key3,菜单不再向下
移动。
完成以上任务后请做以下步骤:
 请将开发完成的程序烧写入两个 LoRa 模块中,安装到工位的作业区,通
上电源等待裁判评判。同时在 LoRa(A)模块天线上贴上标签纸,标签纸
写上标记“C-4-A”。在 LoRa(B)模块天线上贴上标签纸,标签纸写上标
记“C-4-B”。
 把完整的工程代码拷贝到“D:\提交资料\模块 C\4\”目录中。

1|2源代码

1|3Lora(A)

/** ****************************************************************************** * File Name : main.c * Description : Main program body ****************************************************************************** */ #include <string.h> #include "board.h" #include "hal_key.h" #include "tim-board.h" #include "timer_handles.h" #include "sht3x.h" #include "adc_reader.h" #include "NS_Radio.h" #include "sx1276.h" #include "usart1-board.h" unsigned char Z = 0; unsigned char State = 0xff; unsigned char kaiguan[][32] = { /*-- 文字: 开 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x80,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x80,0x00, 0x00,0x80,0x40,0x30,0x0F,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00, /*-- 文字: 关 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0x00,0x10,0x11,0x16,0x10,0x10,0xF0,0x10,0x10,0x14,0x13,0x10,0x00,0x00,0x00, 0x81,0x81,0x41,0x41,0x21,0x11,0x0D,0x03,0x0D,0x11,0x21,0x41,0x41,0x81,0x81,0x00, }; unsigned char Hxdss[][32] = { /*-- 文字: 呼 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0xFC,0x04,0x04,0xFC,0x00,0x04,0x14,0x64,0x04,0xFE,0x02,0x43,0x32,0x00,0x00, 0x00,0x0F,0x04,0x04,0x0F,0x00,0x01,0x01,0x41,0x81,0x7F,0x01,0x01,0x01,0x01,0x00, /*-- 文字: 吸 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0xFC,0x04,0x04,0xFC,0x02,0x02,0xFE,0x02,0x02,0x62,0x5A,0x46,0xC0,0x00,0x00, 0x00,0x0F,0x04,0x04,0x4F,0x30,0x8E,0x81,0x46,0x28,0x10,0x28,0x46,0x81,0x80,0x00, /*-- 文字: 灯 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x80,0x70,0x00,0xFF,0x20,0x10,0x04,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0x04,0x00, 0x80,0x60,0x18,0x07,0x08,0x30,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00, /*-- 文字: 闪 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0xF8,0x01,0x02,0x00,0x02,0x02,0xF2,0x02,0x02,0x02,0x02,0x02,0xFE,0x00,0x00, 0x00,0xFF,0x00,0x00,0x08,0x04,0x03,0x00,0x01,0x02,0x0C,0x40,0x80,0x7F,0x00,0x00, /*-- 文字: 烁 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x80,0x70,0x00,0xFF,0x20,0x10,0x00,0xFC,0x84,0x84,0xF4,0x82,0x83,0x82,0x80,0x00, 0x80,0x60,0x18,0x07,0x08,0x30,0x20,0x10,0x4C,0x80,0x7F,0x00,0x04,0x08,0x30,0x00, }; void OLED_State(); /********************************************************************************************** *函数:void Init( void ) *功能:平台初始化 *输入:无 *输出:无 *特殊说明:无 **********************************************************************************************/ void Init() { // 开发板平台初始化 BoardInitMcu(); BoardInitPeriph(); keys_init();//按键初始化 setTimer2Callback(Time2Handler); Tim2McuInit(1);//定时器初始化,设置定时中断1ms中断一次 } /********************************************************************************************** *函数:void KeyDownHandler( void ) *功能:按钮事件监听 *输入:无 *输出:无 *特殊说明:无 **********************************************************************************************/ void KeyDownHandler(void) { if(isKey2Pressed()){ if(Z>0){ OLED_Clear(); Z--; OLED_State(); } resetKey2(); } if(isKey3Pressed()){ if(Z < 6){ OLED_Clear(); Z++; OLED_State(); } resetKey3(); } if(isKey4Pressed()){ State = Z; resetKey4(); } } /********************************************************************************************** *函数:void handlerPre10Ms( void ) *功能:10毫秒循环 *输入:无 *输出:无 *特殊说明:循环处理总时长300ms **********************************************************************************************/ void handlerPre10Ms(void) { for (int delay = 0; delay < 30; delay++) { HAL_Delay(10); } } void OLED_State(){ OLED_ShowChar(128-16,Z*2>6?6:Z*2,'<'); switch(Z){ case 0: case 1: case 2: case 3: OLED_ShowCHinese(0,0,29);OLED_ShowCHinese(16,0,30); OLED_ShowCHinese(0,2,22);OLED_ShowCHinese(16,2,23); OLED_ShowCHinese(0,4,24);OLED_ShowCHinese(16,4,23); OLED_ShowString(0,6,"LED1");OLED_ShowCHineseArray(32,6,kaiguan[0]); break; case 4: OLED_ShowCHinese(0,0,22);OLED_ShowCHinese(16,0,23); OLED_ShowCHinese(0,2,24);OLED_ShowCHinese(16,2,23); OLED_ShowString(0,4,"LED1");OLED_ShowCHineseArray(32,4,kaiguan[0]); OLED_ShowString(0,6,"LED1");OLED_ShowCHineseArray(32,6,kaiguan[1]); break; case 5: OLED_ShowCHinese(0,0,24);OLED_ShowCHinese(16,0,23); OLED_ShowString(0,2,"LED1");OLED_ShowCHineseArray(32,2,kaiguan[0]); OLED_ShowString(0,4,"LED1");OLED_ShowCHineseArray(32,4,kaiguan[1]); OLED_ShowString(0,6,"LED2");OLED_ShowCHineseArray(32,6,Hxdss[0]);OLED_ShowCHineseArray(48,6,Hxdss[1]);OLED_ShowCHineseArray(64,6,Hxdss[2]); break; case 6: OLED_ShowString(0,0,"LED1");OLED_ShowCHineseArray(32,0,kaiguan[0]); OLED_ShowString(0,2,"LED1");OLED_ShowCHineseArray(32,2,kaiguan[1]); OLED_ShowString(0,4,"LED2");OLED_ShowCHineseArray(32,4,Hxdss[0]);OLED_ShowCHineseArray(48,4,Hxdss[1]);OLED_ShowCHineseArray(64,4,Hxdss[2]); OLED_ShowString(0,6,"LED2");OLED_ShowCHineseArray(32,6,Hxdss[3]);OLED_ShowCHineseArray(48,6,Hxdss[4]); break; } } void State_Send(){ unsigned char arr[10]; if(State == 0){ AdcScanChannel(); sprintf(arr,"%.2f",AdcReadCh0()*100*5/2.0); } else if(State == 1){ float temp,hump; call_sht11(&temp,&hump); sprintf(arr,"%.2f",temp); } else if(State == 2){ float temp,hump; call_sht11(&temp,&hump); sprintf(arr,"%.2f",hump); } else arr[0] = '\0'; arr[7] = State; //arr[7] = Z; HAL_Delay(80); USART1_SendStr(arr,10); SX1276Send(arr,10); } /** * Main application entry point. */ int main( void ) { Init(); OLED_Init(); OLED_State(); ADCS_Init(); USART1_Init(115200); AdcScanChannel(); hal_temHumInit(); NS_RadioInit(433000521,18,1000,1000); while( 1 ) { KeyDownHandler(); State_Send(); /* unsigned char test[10]; test[7] = 10; SX1276Send(test,10);*/ } }

1|4Lora(B)

/** ****************************************************************************** * File Name : main.c * Description : Main program body ****************************************************************************** */ #include <string.h> #include "board.h" #include "hal_key.h" #include "tim-board.h" #include "timer_handles.h" #include "NS_Radio.h" #include "usart1-board.h" /*extern */unsigned char State /*= 0xff*/; unsigned char du[] = { /*-- 文字: ° --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0x00,0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; unsigned char kaiguan[][32] = { /*-- 文字: 开 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x80,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x80,0x00, 0x00,0x80,0x40,0x30,0x0F,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00, /*-- 文字: 关 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0x00,0x10,0x11,0x16,0x10,0x10,0xF0,0x10,0x10,0x14,0x13,0x10,0x00,0x00,0x00, 0x81,0x81,0x41,0x41,0x21,0x11,0x0D,0x03,0x0D,0x11,0x21,0x41,0x41,0x81,0x81,0x00, }; unsigned char kai_image[] = { /*-- 调入了一幅图像:C:\Users\chen\Desktop\kai.bmp --*/ /*-- 宽度x高度=48x48 --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0, 0x60,0x60,0xE0,0xC0,0x00,0xF8,0xB8,0x18,0x18,0xB8,0xF8,0x00,0xC0,0xE0,0x60,0x60, 0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0x98,0x98,0x98,0xF8,0xF7,0xFF, 0xFC,0xFC,0x7F,0x3F,0x1F,0x1F,0x0F,0x0F,0x0F,0x0F,0x0F,0x1F,0x3F,0x3F,0x7C,0xFC, 0xFF,0xF7,0xF8,0xD8,0x98,0x98,0xF8,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0xFF,0xFF,0xFF,0xFF,0x03, 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,0xFF,0xFF,0xFF,0xFF,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00, 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xF0, 0xF0,0xF0,0xFF,0xFF,0xFF,0xFF,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0, 0xF0,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; unsigned char guan_image[] = { /*-- 调入了一幅图像:C:\Users\chen\Desktop\关.bmp --*/ /*-- 宽度x高度=48x48 --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xF0,0xF8, 0xFC,0xFC,0x7E,0x3E,0x1F,0x1F,0x0F,0x0F,0x0F,0x0F,0x0F,0x1F,0x3E,0x3E,0x7C,0xFC, 0xF8,0xF0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x03, 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00, 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xF0, 0xF0,0xF0,0xFF,0xFF,0xFF,0xFF,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0, 0xF0,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; unsigned char hx_image[] = { /*-- 调入了一幅图像:C:\Users\chen\Desktop\hx.bmp --*/ /*-- 宽度x高度=48x48 --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0, 0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x60,0x60, 0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xF7,0xFF, 0xFC,0xFC,0x7F,0x3F,0x1F,0x1F,0x0F,0x0F,0x0F,0x0F,0x0F,0x1F,0x3F,0x3F,0x7C,0xFC, 0xFF,0xF7,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x03, 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00, 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xF0, 0xF0,0xF0,0xFF,0xFF,0xFF,0xFF,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0, 0xF0,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; /********************************************************************************************** *函数:void Init( void ) *功能:平台初始化 *输入:无 *输出:无 *特殊说明:无 **********************************************************************************************/ void Init() { // 开发板平台初始化 BoardInitMcu(); BoardInitPeriph(); keys_init();//按键初始化 setTimer2Callback(Time2Handler); Tim2McuInit(1);//定时器初始化,设置定时中断1ms中断一次 } /********************************************************************************************** *函数:void KeyDownHandler( void ) *功能:按钮事件监听 *输入:无 *输出:无 *特殊说明:无 **********************************************************************************************/ void KeyDownHandler(void) { } /********************************************************************************************** *函数:void handlerPre10Ms( void ) *功能:10毫秒循环 *输入:无 *输出:无 *特殊说明:循环处理总时长300ms **********************************************************************************************/ void handlerPre10Ms(void) { for (int delay = 0; delay < 30; delay++) { HAL_Delay(10); } } //void Lora_Read(); void Led2_HX(){ unsigned int time=1000,i,j; unsigned char R[10]; OLED_DrawBMP(128/2-48,0,48,48,kai_image); for(i = 0;i < time;i++){ for(j = 0;j < i;j++){ GpioWrite(&Led2,0); if(State!=5)break; } for(j = 0;j <time - i;j++){ GpioWrite(&Led2,1); if(State!=5)break; } } OLED_DrawBMP(128/2-48,0,48,48,hx_image); for(i = 0;i < time;i++){ for(j = 0;j < i;j++){ GpioWrite(&Led2,1); if(State!=5)break; } for(j = 0;j <time - i;j++){ GpioWrite(&Led2,0); if(State!=5)break; } }OLED_DrawBMP(128/2-48,0,48,48,guan_image); GpioWrite(&Led2,1); } unsigned int t = 0,T = 0; unsigned char arr[10]; void OLED_State(){ switch(State){ case 0: OLED_ShowString(32,3,arr); OLED_ShowString(32+6*8,3,"Lx"); break; case 1: OLED_ShowString(32,3,arr); OLED_ShowCHineseArray(32+6*8,3,du); OLED_ShowChar(32+6*8+16,3,'C'); break; case 2: OLED_ShowString(32,3,arr); OLED_ShowString(32+6*8,3,"%RH"); break; case 3: GpioWrite(&Led1,0); OLED_DrawBMP(128/2-48,0,48,48,kai_image); OLED_ShowString(128/2-48,6,"LED1");OLED_ShowCHineseArray(128/2-16,6,kaiguan[0]); break; case 4: GpioWrite(&Led1,1); OLED_DrawBMP(128/2-48,0,48,48,guan_image); OLED_ShowString(128/2-48,6,"LED1");OLED_ShowCHineseArray(128/2-16,6,kaiguan[1]); break; case 5: Led2_HX(); break; case 6: { // HAL_Delay(1); T++; if(T == 5){ OLED_DrawBMP(128/2-48,0,48,48,kai_image); GpioWrite(&Led2,0); } else if(T == 10){ T = 0; OLED_DrawBMP(128/2-48,0,48,48,guan_image); GpioWrite(&Led2,1); } } break; } } /* void Lora_Read(){ unsigned char Read[10]; if(Read[7]!=State)OLED_Clear(); ReadRadioRxBuffer(Read); HAL_Delay(100); USART1_SendStr(Read,10); //HAL_Delay(100); if(Read[7]!=0) State = Read[7]; Read[7] = '\0'; sprintf(arr,"%s",Read); }*/ /** * Main application entry point. */ int main( void ) { State = 0xff; Init(); OLED_Init(); NS_RadioInit(433000521,18,1000,1000); USART1_Init(115200); //unsigned char test[10]; while( 1 ) {/* ReadRadioRxBuffer(test); if(test[7] == 10) GpioWrite(&Led1,0);*/ //Lora_Read(); t++; HAL_Delay(1); if(t % 100 == 0){ unsigned char Read[10]; ReadRadioRxBuffer(Read); if(Read[7]!=State)OLED_Clear(); //HAL_Delay(200); //USART1_SendStr(Read,10); //HAL_Delay(100); State = Read[7]; Read[7] = '\0'; sprintf(arr,"%s",Read); OLED_State(); } } }
  • 自制图片

kai关kai


__EOF__

本文作者~内个臣呐~
本文链接https://www.cnblogs.com/Xin-chen/p/16913131.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   ~内个臣呐~  阅读(519)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示