公司手头有个项目,需要做温控系统,温度探头引线长度至少10米,带液晶显示,还要无线上报,仔细研究下来,确定了
STM32+K型热电偶+SIM800C方案
其实看着真的很简单,完整做下来,真心。。。电路细节暂时不表,基本一路绿灯,软件真心调的怀疑人生。记录下来,以便有同仁指教
STM32F103C8T6作为主控芯片,靠timer调度整个逻辑状态(以后还是上freertos和ucosiii吧。。。)
1. 完成掉电数据不丢失
2. 完成万年历
3. 完成HTTP上报
4. 完成K型热电偶测温
5. 完成键盘检测
液晶模块用的是公司自研3.5寸液晶屏,采用STM32F103RBT6,128KB FLASH,也靠timer调度,没跑操作系统
6. 完成UI设计
7. 参数掉电不丢失
8. 与主控板数据交互
大概就这些要求吧,每一项都不难,完成的也很快,下面看一下问题
S1. while维护UI状态机,每次刷新一下界面,将参数保存到flash中,完成参数动态保存
A1. 这样做其实有些偷懒,应该是在参数变化时保存。直到我用坏了两个page的flash才意识到,flash频繁擦除,会擦坏的。现象就是,当时调好的代码,掉电防丢失也没问题,连续上电跑一天,回来再看,掉电功能就挂了。到处找问题,最后才发现。。。参数保存机制改成参数变化,才保存到flash,这样擦写次数明显降低三四个数量级,问题解决
S2. 液晶板与主板靠SPI完成通信,看