第一套NBiot
分为几部分,显示屏,串口,按键,Flash读写
主要是在不同的模式之间进行切换,在适当的时机修改显示的内容(清屏,修改等),flash就在烧录软件里看地址就行,麻烦的是需要对日期进行判断:大小月,平闰年等,最后的

估摸着就是看数据合不合规,比如修改月份0x0F,一年肯定没有15个月吧,发送修改指令0xFB 0x02 0x0F 0xFE由于无法修改成功,返回0xFB 0x01 0xFE。
顺便提一嘴,箭头和星号都是汉字库里有的hal_oled.h里找oledfont.h
第二套ZIgBee
主要是按键的花样,双击和长按的判断,再是呼吸灯
对我而言,最麻烦的是暂停这一块,我用的是延时函数呼吸灯,因此暂停呼吸灯需要在循环中加按键判断
核心部分

第二套LoRa
主要是温湿度光照采集和数据处理。
按住按键发ASC,松开发HEX,(反正最后都是ASC字符串,HEX也是ASC显示的十六进制)
难一点的是把ASC字符串转化为HEX字符串,需要遍历ASC数组把每一位转化为HEX再存入另一个数组

这里的txdata_hex是数组首地址,每次循环向后移动i*3位
第五套LoRa
主要是按键和灯(也就这两个)
因为三个模式分别控制,所以不像某套题呼吸灯和闪烁一起跑那样麻烦,延时函数呼吸灯主要的难点是在循环中仍能判断按键,所以把按键的判断扔定时器里就行了,没了。