记得应该是13年的时候,在论坛参加一个活动,获得了一个STM32F4-Discovery,从此在STM32开启嵌入式。
首先介绍下:
STM32F4-Discovery基于STM32F407VGT6,板上包括了一个ST-LINK/V2 调试工具和2 个ST MEMS、USB OTG接口等。以及大量的软件例程。
在STM32F4系列MCU中除了通常MCU都拥有的SPI,UART,I2C等接口外,LCD并行接口、照相机接口,USB OTG接口以及用于加密的哈希处理器模块也一应俱全。(当然,根据具体型号的不同所包含的模块略有差别)这在很多应用中大大简化了用户的BOM成本,并且由于所使用的元器件减少了,系统的稳定性也会有所增加。为了便于用户的升级,STM32 F4系列的引脚和软件完全兼容STM32 F2系列。这里我们不得不称赞ST公司处处为客户着想的态度。在我们的STM32F4 DISCOVERY系列开发板上搭载的是一颗STM32F407VGT6芯片。
那个时候刚拿到开发板的时候,心情还是非常激动的。之前学过51,会用51编写些程序,做做小东西,但是呢,想到这肯定要转到stm32的怀抱里面,所以就在13年下半年的时候从新决定学习stm32,对于ST家的芯片,显然大家会想到stm32f103,这个是不带fpu不带dsp功能的M3内核,另外大家又会想到M4系列的,也就是stm32f407这款,相对的都有开发板,我当时报的希望是快速入门,能少走弯路。 如何学习STM32: 自然,最好的学习平台就是开发版了,那个时候收到开发板之后,discovery里面有很多例程。这是非常重要的,你会发现官方的程序原来可以这么写,对于你的编程风格有很大的帮助。而且最重要的是不贵,不到100块钱。
对于我来说,拿到单片机的第一件事,就是跑起来,我觉得这是很重要的事情,这样才有成就感,哪怕是一个简单的流水灯,最起码也要用起来。刚拿到discovery的时候,里面就有程序,插上USB就能闪烁。但是这个程序毕竟不是我们的,所以只能作为欣赏。
模块方面的学习:
首先就是时钟,时钟的配置,是高级单片机的一大特色,对于从低级单片机过来的我,很不适应,大大的一个时钟树,放到那里,看起来甚是复杂,其实没那么复杂,比对程序就可以看出时钟设置的方法,无非就是时钟源的选择,还有时钟分频的选择,比对程序。对了,在这里有必要说一下,怎么看这个模块挂的什么时钟,这一点和低级单片机不一样,原来的单片机非常明白的说着这个模块挂在哪个单片机上,但是,在这里,没有即使是看英文说明,也没有写,比如我在调试SPI1的时候,很是嘀咕,这个波特率怎么设啊!后来,浏览说明的时候,猛然间发现哦,原来看内存地图就行了,上面写的明明白白,瞬间开朗。这都是一个学习的过程。
编程方面的学习:
搞嵌入式编程,其实做的大部分事情就是过程式编程,就是要画数据流程图,有时候回首前尘,会谓叹,要是当时我这样做就好了;这也说明了人生会有一个最优解。
嵌入式系统的学习也是一样,作为电子专业或者其它专业的学生来说,想要把嵌入式系统的学习搞好,走一条成功的人生道路,那应该怎么去做呢?俺试着分析看看。
当然人生的道路很多很多,嵌入式不可能是唯一的道路,也绝对不是最好的道路;这些都是因人而异的;
如果你没有什么别的资源,俺主要指的是人脉,资金,需要靠技术吃饭,正好你学的是电子、自动化、通讯...这样跟嵌入式相关的专业,又正好喜欢技术,那么可以考虑把嵌入式当作自己的傍身之技来学习。这时寻求嵌入式系统学习的最优解就有了意义。
|