算法只有合适不合适,没有简单复杂的区分。

单片机资源有限,稍微大容量的单片机也不过512K的RAM空间,并不适合特别复杂的算法,保证算法可靠的运行,在性能受限的工作频率下实现需求的功能才是第一要务。

举个简单的例子,将一个长度为10的数组清零,很多同学习惯使用memset这个函数,然而使用这个函数需要调用函数库,编译出来的bin文件需要包含库,所以会大大增大bin文件的大小,这个时候使用一个for循环来赋值看起来“low”,但是却是最合适的做法。

单片机如果提高自己的代码治量

边读源码边实战才是王道

书籍推荐《数据结构》,代码推荐FreeRTOS的源码,后面会做一个嵌入式软件算法的学习连载教程,欢迎关注。FreeRTOS的代码很多精妙的设计,读懂吸收之后,可以在自己的项目中模仿实现,彻底掌握,比如学到消息管理机制的时候可以在自己的单片机上实现一个队列控制器,用定时器来触发分发任务,做完之后可以说消息管理对你来说不在话下了。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查