stm32学习总结:1、stm32学习开篇
1. 前言
最近项目上用到stm32开始多了起来,于是想要系统简单过一下stm32,并且这里再次感慨一下知识没有白学的。因为我在大学期间是机电相关专业的,虽然学的不咋的,但是有个大致的印象,专业课学了数电和模电,后面还有单片机、51、PLC相关的课程,由于当时机械和电子我都不太看好,所以后面以C为主,主要发展了Linux C/C++/Qt应用开发,目前看来书到用时方恨少,机械、电子、数学、物理这些基础在很多实际开发中虽然没有英语基础那么明显但也还是会用到,造孽啊,又得花时间去重头再补这块的知识(很多东西学的时候没有兴趣,但是实际应用起来就有兴趣了,可惜学习的时候不知道这些知识的应用,我想在教学的时候把知识和应用结合起来可能效果会更好一些)。
我这里买了一个stm32F4的开发板,因为我和专门做单片机开发的同学交流,他推荐我买了一个F4的(这个因人而异,实际选型需要根据需求来定),后续还确认了一起开发驱动的目标。所幸,现在可以用于stm32的rtos也比较多了,所以在stm32上开发软件的难度也有了一定程度的的降低。
2. 补基础的书籍和视频
目前视频比较火热,上课听着头晕,看书看的头晕,那把老师的课程录成视频自己找时间看你总不至于还头晕吧,所以这里推荐想补基础的可以买这几本教材并结合B站上相关课程的视频看一下,然后再买开发板研究一下,基本上很多东西就会豁然开朗了,直接上手开发板很多东西肯定是知其然不知其所以然的,至少看一下这三块:《数字电子技术基础》、《模拟电子技术基础》、《微机原理与接口技术》(啊,忘记C语言了,因为比较熟悉,反而忘记了,编程的话编程语言肯定是必不可少的,看书和视频,然后多练即可)。
同理,这种回顾基础的方式也适合其它专业基础知识,比如AI(大学还是得好好学,AI需要的数学、物理、英语基础的要求都是比较高的),现在视频都很丰富,结合大学课程和视频,回顾和学习起来还是比较快的。
3. stm32
https://www.stmcu.com.cn/
https://www.st.com/zh/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html
意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器。
STM32是ARM® Cortex®内核单片机和微处理器市场和技术方面的领先者,目前提供16大产品线 (F0, G0, F1, F2, F3, G4, F4, F7, H7, MP1, L0, L1, L4, L4+,L5, WB,WL),超过1000个型号。
• STM32产品广泛应用于工业控制、消费电子、物联网、通讯设备、医疗服务、安防监控等应用领域,其优异的性能进一步推动了生活和产业智能化的发展。
如下官网图,可以为选型提供一定程度的参考:
4. 最后
开始想说的就这些,因为我看了一些视频,结合我的感受还是觉得基础比较重要,有的东西基础通的话学习相关的东西都会快一些,否则总会感觉少了一点什么。接下来我们搭建一下开发环境,目前MDK、IAR、CLion、STM32CubeIDE等用的比较多,我目前比较推荐CLion,因为补全、跳转、ideavim等的配套太方便了,而且我从事软件开发时使用Idea、Goland比较多,切换到CLion也比较容易一些,我用了keil mdk、IAR能明显感觉到差异(主要是感觉不太顺手,视觉效果也不好),IDE的不易用性或多或少也会影响到编码的流畅性,所以接下来会总结一下CLion搭建stm32开发环境。