【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
目前市面上的mcu很多,有国产的,有进口的,总之种类很多。以stm32为例,这里面又包括了stm32f1、stm32f4、stm32f7。而且,很多时候,电商网站上面的开发板种类很多,有的资料很多,有的只提供基本程序,那这个时候应该怎么选择呢。结合我自己的经验,给大家参考一下。
1、选择高性价比的mcu
很多同学上来的时候,野心很大,恨不得短时间内把所有的mcu知识点都掌握。有了这个想法,买板子的时候直接追求大而全,其实是没有必要的。我们买过来的东西,如果没有经过学习、思考,变成自己的东西,买了再多也是无益。目前mcu这部分,stm32f103系列性价比最高,核心板+st-link v2加起来也就几十块,个人觉得用来入门是比较合适的。要说其他还需要买的,最多买一个usb转ttl的模块即可。
2、第一次编译、下载很重要
和软件直接在电脑上编译、运行不一样,mcu代码不仅需要在x86 pc上面用keil编译,还需要st-link v2下载到mcu开发板上面。因此,第一次编译成功,对于建立开发者的信心很重要。在mcu上面,一般来说,第一个程序就是点灯程序,有点类似于学习编程语言里面的hello-world。编译之后,就可以直接通过st-link v2下载了。有了这个做基础,后续就好办了。
3、下载的时候先erase一下
我们在下载程序之后,最好养成先erase,后program的习惯。因为mcu上面的存储空间是flash,如果要对flash进行重新编程的话,最好先erase,再programe。这样几乎不会有什么编程失败的问题。一般code、read only data都是放在flash里面,stack、global data、heap都是放在sram里面,这一点需要注意下的。
4、下载程序后手动复位开发板
很多同学第一次编程,会出现下载后,没有反应的情况。其实,这个时候我们只需要按一下复位键,mcu就可以开始运行了。但是很多同学不知道这个操作,以为自己的程序有问题,殊不知只是因为自己没有按下复位键,才导致mcu没有按照新的程序来运行。
5、尽快调通串口
串口是mcu调试里面很重要的调试、通信方法。有了串口相当于我们知道mcu走到哪一步了,所以打通串口有着很重要的现实意义。此外,一般mcu带有多个串口,后续其他串口还可以与上位机进行数据的交互通信。找到对应的tx、rx、gnd,这一点非常重要。
6、一定要掌握中断的写法
mcu下面很多的程序都是while(1) + interrupt的写法,所以我们需要的就是尽快写一次中断代码。这个中断可以是gpio的中断,可以是定时中断,甚至可以是uart中断,只要是中断就可以。如果是定时中断,后续甚至可以以timer为驱动,配合状态机进行应用开发。
7、慢慢掌握其他接口
有了上面做基础,下面就可以慢慢学习其他接口了,比如说iic、iis、sdio、spi、usb和eth。同样以spi为例,这个接口可以适配的模块就更多,能实现哪些功能,很多时候取决于我们外接了哪些模块,可以拿到哪些数据。
8、开始业务的开发
有了上面的开发做接触,下面就开始业务的开发了。当然,这中间可能还会涉及到rtos、fatfs、lwip、lvgl,不过没关系,本身用什么学什么的原则,后续就可以开始业务的开发了。简单一点,可以做数据的采集;后续做一些模块的转发;最后慢慢做一些控制和识别的东西,这样就算真正把mcu用起来了。
9、所有的相关mcu代码都可以参考
我们买的开发板可能来源于一个人,但是其他家的程序我们也是可以参考的,无非就是改一下接口、改一下pin就行,这都问题不大。真的遇到问题了,反而是自己学习的机会。