中微 CMS8H1205 踩坑记录

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、函数参数不能太多

函数参数不能太多,太多可能会导致参数值错误,可以考虑用全局变量替代。

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值