首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

stm32单片机编程用库函数好还是寄存器好?

固件库,优点是,前期开发简单,容易较快实现项目所需要功能。缺点,代码量大。精细化功能实现。寄存器,前期开发复杂,前期调试时间对比固件库。就我个人而言,我目前主要使用寄存器,当时有一个项目,在做单片机选型时候。采集高频率的方波,误差要求正负3,使用固件库,编译时间很长,误差只能说在正负3 ,4的样子。后面在真正上项目的时候,发现编译下来的执行文件很大,超出了128k,升级同系列256k的stm32,

因为成本控制,试想下,每个芯片差几毛钱,每年一百多万台的销售量,就等于差了好几十万块钱,没办法,就优化代码,使用寄存器,终于最终编译下来的code在100k左右,而且发现采集零度在正负2左右,精度也提升了,皆大欢喜。上面我说不是说固件库不好,毕竟我现在在有些部分也是调用别人写好的代码,比如usb部分,还有fatfs等,自己写太麻烦了,整体来说我是寄存器为主,固件库为辅,两者都有用。在调试分析代码时候也得心应手。

官方弄出来个工具叫做STM32cubeMx,这个几乎都是hal库,而且一键生成代码,开发周期大大缩短。而且,最重要的,在一些运行效率需求比较高的地方可以选择使用LL库。这都是工具上自带的。细心的同学会发现,hal库基本上过段时间就更新一次,更新频率非常快,这是官方主推的,所以官方也维护的比较积极。当然,这个东西bug还是比较多。现阶段已经比较稳定了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190112A094AD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券