大佬们,俺又来汇报进度了,又拖了好几天,这段时间学习了非阻塞的方法,又把按键和led全改成了非阻塞的,低功耗也做好了,不过测待机功耗在2.7mA左右,算下来待机时间差不多可以一个月了,又去算了下理论功耗,发现由于选型问题,TVS的最大理论功耗达到了1mA,而LDO的静态电流最大也达到了11mA,这个没有办法了,只有换LDO和TVS,除开这两个最大理论功耗只有53uA,如果有第二版在第二版内改掉,争取第二版低功耗可以做到100uA以内,那么待机时间可以达到两年以上。
整体功能如下,开机或者唤醒后蓝色LED闪烁2次提醒,单击按键进行测温,同时可以测电池电压,双击按键红色LED闪烁两次,同时OLED屏幕提醒,两秒后进入休眠模式,单击按键可以唤醒,同时测量,长按等效果写好了但不知道给啥功能,先预留,整体效果(由于传不了视频和git就没办法了),换成个人链接
https://ywuvaccnni6.feishu.cn/wiki/TCBMwAodLiwpqAkFBV7ce9CEnKb?from=from_copylink大佬们帮忙看看还有什么问题或者意见帮忙提一下,万分感谢!!!


项目复盘总结:
1.后续如有低功耗需求在选型时就算好理论功耗是否满足
2.代码还需继续加强,更改代码时间过长
3.硬件还继续学习,四层板六层板等SI PI理解不够
4.有了示波器需补测纹波,时序等
5.如有改版更改点如下:1)增加蜂鸣器(报警提醒) 2)增加两个按键(设置报警阈值) 3)LDO和TVS选型需变更 4)待下个项目完全弄明白OLED和I2C后更改UI,目标为增加动画效果,增加多级菜单
收获
1.学习了低功耗处理,硬件:功耗计算,前期评估,器件选型 软件:低功耗休眠,唤醒
2.学习了按键中断功能,唤醒功能,非阻塞方式运用
3.学习了SM Bus运用(和I2C相似),但是是代码移植,后续需自己完全理解,自己封装
4.学习了咋看时序图
5.学习了编译器宏代码选段
6.学会了使用状态机和结构体
7.能看懂指针(虽然用不太明白)
下个项目计划
计划做一个OLED的游戏机,通过这个项目应该可以完全理解OLED和I2C,供电使用电池+无线充电的方式,需要再做一个无线充底座,整体外壳也都采用3D打印的方式
目前大致计划先这样,吧友们再会!下个项目再新开一个帖子