1、尽量不要浪费时间对寄存器进行封装
刚拿到芯片对厂家提供的demo很不满意,不方便,所以想用stm32封库的方式将接口封装,后面发现这样做有点占空间,这个单片机的空间只有8k,业务逻辑多一点就会空间不够大,如果觉得直接操作寄存器代码不清晰,可以采用宏定义方式。
2、非位变量转为位变量需要注意
非位变量如果最低位是 0,则转换成位变量 0;如果最低位是 1,则转换成位变量 1。而标准的 ANSI-C 做法是判整个变量值是否为 0。
3、尽量不要用到数学运算
尽量不要使用数学运算,比如说求log,使用数学库的话需要使用大概2k的flash和20%的ram,空间耗费巨大,可能导致业务逻辑无法实现。如果需要这样运算,可以考虑通过查表来进行计算
4、温度采样建议采用芯片内置温度传感器
温度采样建议不要使用外部ntc电阻,ntc的温度和电阻的关系是指数形式的,需要用到log运算才能计算,会导致使用大量的空间。该芯片内部温度传感器已经经过了校准,可以直接使用
5、外部中断在仿真时不打断点进不去
仿真时发现该芯片在进行仿真时必须要进入一个断点才能进入正常进入中断,如果在正常运行情况下会正常进入中断,芯片的坑。
6、全局中断开关无效
在调试中断时发现全局中断开关无效,不管怎么操作,这个寄存器都打不开,但是中断可以正常进去,和芯片技术支持沟通后无果
7、函数参数不能太多
函数参数不能太多,太多可能会导致参数值错误,可以考虑用全局变量替代。