单片机怎么实现模块化编程?思维+实例+系统教程(实用程度令人发指)
\\\插播一条:文章末尾有惊喜哟~///
在刚初始从事研发工作的那几年,我主要做单片机软件开发的工作,虽然功能吧都能实现,但是总觉得缺少了点什么。
总是感觉自己写的程序不够完美,移植性不够好,功能也不好扩展,每次写完程序最怕的就是客户要改功能。
假如程序架构写的不好,一改会影响到很多功能,哪怕原来是灯每秒闪1次,改成每秒闪3次这种看起来很简略的功能。
对于程序提升这块,假如没有人一个厉害的人带你,真的很难提升。
主要难在两个方面:
1.你的认知
有时候不是你做了越久,写的代码就越好,由于你一直在自己的认知水平内写代码。
假如不提升你的认知,代码自然也不会提升,所以想要提升代码水平,首先要提升的是你的认知。
2.找不到好的教程或实例
终有一天你要做中大型项目标时候就会发现,自己的代码水平和思维要提升了,但是找不到好的教程和方法。
这块最好的提升办法就是去找那些大佬写的代码,假如说公司比较资深的工程师,有事没事多请他们吃吃饭,喝喝水搞好点关系。
一般来说都愿意把自己的代码分享给你,然后你再看他们写的代码,有哪些是值得进修的,最重要的是他们实现功能的思维,然后用代码怎么去实现?
假如别人不愿意分享给你,那能够去挖一下现成稳定的,假如说STM32的规范库,蓝牙协议栈等等。
我当初的提升方法是在某个公司做产品的时候,正好有个工程师离任了,老大把他写的代码给我来维护。
当我第一眼看到他代码的时候,觉得写的很复杂,感觉在秀技术,完全没必要这样去写。
然后我用他的代码拿配套的产品来测试,发现很稳定,我尝试依照我的思维改了以后,就出现了各种问题。
慢慢地,钻研越深,我越是深刻体会这位工程师为什么要那样去写,自己