物联网竞赛LoRa模块双击实现某些功能-新大陆
一、任务要求
1、第一次双击key3使得OLED屏幕显示工位号
2、第二次双击key3使得OLED屏幕显示某个图标
3、第三次双击key3使得OLED屏幕环境监测
4、能实现以上三步循环操作
二、代码main.c文件编写
#include <string.h>
#include "board.h"
#include "hal_key.h"
#include "tim-board.h"
#include "timer_handles.h"#include "hal_oled.h"
#include "adc_reader.h"
#include "math.h" //获取pow计算x的y次幂函数
#include "sht3x.h" //温湿度
void Init() {BoardInitMcu();BoardInitPeriph();keys_init();//按键初始化setTimer2Callback(Time2Handler);Tim2McuInit(1);//定时器初始化,设置定时中断1ms中断一次OLED_Init(); //OLED初始化OLED_Clear();ADCS_Init(); //ADC初始化
}
void number() //显示工位号
{OLED_ShowString(56,3,(uint8_t *)"01");
}
uint8_t tubiao[]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xC0,0xE0,0xF0,0xF8,0xF8,0x7C,0x7C,0x3E,
0x3E,0x3E,0x1F,0x1F,0x1F,0x1F,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFE,0xBE,
0x3E,0x7C,0xFC,0xF8,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x80,0xE0,0xF8,0xFC,0xFF,0x7F,0x1F,0x8F,0x87,0xC3,0xC1,0xE0,0xE0,0xE0,0xE0,
0xE0,0xE0,0xC0,0xC0,0xC0,0x80,0xFF,0xFF,0xFF,0xFF,0x01,0x03,0x07,0x0F,0xFF,0xFF,
0xFE,0xFC,0xF0,0x00,0x01,0x03,0x07,0x0F,0x3F,0x7F,0xFE,0xFC,0xF8,0xE0,0x80,0x00,
0xFC,0xFF,0xFF,0xFF,0xFF,0xF9,0xFE,0xFF,0xFF,0xDF,0xCF,0xC7,0xC3,0xC3,0xC3,0xC3,
0xC3,0xE3,0xF3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFC,0xF8,0xF8,0xFF,0xFF,
0xFF,0xDF,0xC7,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC3,0xBF,0xFF,0xFF,0xFF,0xF8,
0x3F,0xFF,0xFF,0xFF,0xFD,0x83,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0xE3,0xFB,0xFF,
0xFF,0xFF,0x1F,0x3F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xC7,0xC3,
0x87,0x87,0xC7,0xC7,0xC7,0xE7,0xFB,0xFF,0xFF,0x7F,0xDF,0xFF,0xFF,0xFF,0xFF,0x3F,
0x00,0x01,0x07,0x1F,0x3F,0xFF,0xFE,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0x1F,0x3F,0xFF,
0xFF,0xFF,0xE0,0xC0,0xC0,0x80,0xFF,0xFF,0xFF,0xFF,0x01,0x03,0x03,0x07,0x07,0x07,
0x07,0x07,0x07,0x07,0x87,0xC3,0xE3,0xF1,0xFC,0xFE,0x7F,0x3F,0x1F,0x07,0x01,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x07,0x0F,0x1F,0x1F,0x3E,0x3E,0x7C,
0x7D,0x7B,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xF8,0xF8,0xF8,0xF8,0x7C,0x7C,
0x7C,0x3E,0x3F,0x1F,0x1F,0x0F,0x07,0x03,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
};
void picture() //显示图标
{OLED_DrawBMP(40,1,48,48,tubiao);
}
//float temp;
//float humi;
//char str_temp[64];
//char str_humi[64];
float value;
unsigned char databuffer[64];
void get_sensor()
{AdcScanChannel();value = pow(10, ((1.395 - log10((50 / AdcReadCh0() - 20) / 10)) / 0.465));HAL_Delay(200);sprintf((char *)databuffer,"value:%2.0f",value);OLED_ShowString(32,3,databuffer);
// call_sht11(&temp,&humi);
// sprintf(str_temp,"%.0f",temp); //温度
// OLED_ShowString(50,2,(uint8_t*)str_temp);
// sprintf(str_humi,"%.0f Rh",humi); //湿度
// OLED_ShowString(50,4,(uint8_t*)str_humi);
}
int fun,n,clickkey3,key3time;
void KeyDownHandler()
{scan_keys(); if(isKey3Pressed()){resetKey3(); //重置key3状态clickkey3++; //统计双击次数if(clickkey3>=2&&key3time<50){fun++; //统计功能clickkey3=0;key3time=0; //if(fun%3==1){n=1;OLED_Clear();} if(fun%3==2){n=2;OLED_Clear();}if(fun%3==0){n=3;OLED_Clear();} }else if(clickkey3>=2&&key3time>=50){key3time=0; //两次单击超出时间则归零}}
}
int main( void )
{Init();while( 1 ){KeyDownHandler();if(clickkey3){++key3time;HAL_Delay(5);}else{key3time=0;}switch(n){case 1: number(); break;case 2: picture(); break;case 3: get_sensor(); break;}}
}
三、LoRa模块烧写代码
编译无错误,直接用STlink下载,"模组串口连接拨码开关"无要求
四、实验效果
物联网竞赛LoRa模块双击实现某些功能-新大陆相关推荐
- Keil5添加.c文件与.h文件的方法-导入支持库-新大陆物联网竞赛-Lora模块NBIOT模块例程-添加导入文件
一.概述 在某些情况下,我们使用现用的物联网开发例程,例如新大陆物联网的Lora与NBIOT的例程,我们对其例程内目前所有的库不满意,不足以实现开发需要的功能,我们需要在原有工程上添加我们自己的库,以 ...
- 物联网竞赛LoRa模块采集温湿度
LoRa模块采集温湿度数据 采集SHT3温湿度光照集成模块的温湿度 代码实现 代码分析 最终实现效果 采集SHT3温湿度光照集成模块的温湿度 代码实现 int main( void ) {Init() ...
- 【物联网竞赛-LoRa 串口模块控制与显示】
物联网竞赛-串口控制OLED显示与LED状态 一.实现效果 二.项目要求 三.代码实现与总结 1.通过define把串口指令封装起来 2.通过取模软件对汉字取模为16进制数据 3.判断串口指令使LED ...
- 物联网竞赛NB-IoT模块开发——计数器系统(Flash存储)
核心代码 源码下载地址 物联网竞赛NB-IoT开发--计数器系统(Flash存储)-Flash文档类资源-CSDN下载
- 【物联网竞赛LoRa板实现呼吸灯和流水灯功能】
LoRa板实现呼吸灯和流水灯功能 呼吸灯和流水灯的实现 一.呼吸灯与流水灯原理 1. 模拟人的呼吸效果,LED灯实现等由暗到亮,然后由亮到灭的类似呼吸效果,应为眼睛图像滞留时间在0.04s(1/24帧 ...
- 【物联网竞赛-LoRa驱动函数剖析】
SX1276模块驱动LoRa消息的传输 一.入门LoRa无线扩频通信技术 二.涉及的重要函数 1.RadioInit( uint32_t freq, int8_t power, uint32_t tx ...
- 【物联网竞赛-LoRa计数器系统开发(Flash的存取)】
计数器系统开发-Flash的存取 一.实现效果 二.项目要求 三.代码实现与解析 1.void Init_Show()实现初始化界面的显示 二.主函数int main( void ) 四.实现注意: ...
- 物联网竞赛单片机应用开发-一对一辅导项目
物联网竞赛单片机应用开发-项目一对一辅导 一.ZigBee无线通信模块开发案例 1.IAR独立新建工程,基于CC2530寄存器开发 2.基于basicRf库的ZigBee无线功能开发 二.LoRa模块 ...
- 物联网竞赛单片机应用开发-项目汇总
物联网竞赛单片机应用开发-项目汇总 一.ZigBee无线通信模块开发案例 1.IAR独立新建工程,基于CC2530寄存器开发 2.基于basicRf库的ZigBee无线功能开发 二.LoRa模块开发案 ...
最新文章
- 为什么不要用uuid做主键
- WINDOWS SERVER 2003从入门到精通之活动目录数据库的维护
- XGBoost的理解
- E	速度即转发(牛客挑战赛48)(树套树)
- excel重复上一步快捷键_13个excel快捷键,让你的1秒钟,抵得上同事的5分钟
- 华为Mate X即将于本月上市:5G实测下载速率超1Gbps
- Java EE体系概述
- VMware Linux 下 Nginx 安装配置 (一)
- GitHub 向别人的仓库贡献代码
- oracle12c如何完全卸载_如何卸载oracle12c
- SSH 只能用于远程 Linux 主机?那说明你见识太小了!
- Python爬取堆糖网图片的代码
- pagefile文件大小设置
- java chr()_chr码值对应列表大全
- win7 install solution for intel SKL and BSW platform
- SpringBoot对接微信公众号,持续更新
- 2020 Python中文社区热门文章 Top 10
- 学会 Arthas,让你 3 年经验掌握 5 年功力!
- C语言 详解如何编写闪烁显示字符串的函数
- 【grafana】grafana Panel plugin not found: grafana-piechart-panel
热门文章
- java web小游戏_用java web小游戏源代码。期末结课老师让做,急用,谢了
- POJ 1691 - Painting A Board + Python (DFS)
- python之torchlight使用_Unity3D加载火炬之光资源
- Python统计西游记妖怪出场次数(使用jieba分词)
- 测试地位的四象限分析
- 【HTML-5】小米耳机产品模块
- RSA加密为什么每次加密的结果不一样
- 我爱我的计算机专业演讲稿,2017年我爱我的专业演讲稿优秀范文
- m1虚拟机运行Linux,虚拟机Parallels发布新技术预览版,M1 Mac能运行Win 10了
- Kinect虚拟试衣