如何系统地入门学习STM32?
用的芯片的时候,都是对着数据手册上寄存器写的。
楼主后面的话说起库和寄存器开发方式了,恐怕又引起一阵论战。不过我只是说说自己的感受,先声明,我没怎么用STM32开发过东西。
我用ATMEL的芯片,用寄存器操作方式。我不可能用官方库。
但我可以将用寄存器写的功能进行封装成函数或模块。
冰零分子:
1.首先了解下芯片架构,看看这个芯片都能干什么事。
2.然后跟视频或教程通看一遍,了解下实现一个功能大致需要的步骤。
3.其次选一个项目直接实践,只要知道大致步骤,库函数配置网上一搜一大把,做项目的同时会解决各种各样的问题,这就是提高的过程,这个项目做完基本外设配置过程就熟悉了。
4.最后再做个项目尽量不去参考教程或网上的配置过程自己独立完成,加深印象。这个过程可以结合寄存器配置了解底层运作原理。
总的来说我的学习过程是先观其广再究其深。
弈涯:
刚开始接触STM32是正点原子的MiniSTM32,那时候在学校有的就是时间,当时就用寄存器将提供的所有例程,自己重新对照着DataSheet敲一次,根据自己的想法做一些改变。从C到编程思想再到STM32的了解,都有了较大的进步。现在在单位也在做STM32的编程,不过都不用寄存器了,但是感觉之前敲的例程还是对现在的工作有了很大的帮助。觉得吧,还是得多动手,基础的东西还是得自己去完整的过一遍。
Larm1:
1. 刚开始使用寄存器配置时,感觉要看的文档,花的时间确实比较多;
2. 后来官方退出了固件库,刚开始使用的时候感觉又不踏实,后来习惯了,省了很多的时间;
3. 现在都是直接找官网的相关功能外设代码直接测试、调试,不懂得才去看文档,时间长了觉得对硬件资源都生疏了许多;
4. StmCube由于没有带系统,没怎么使用过;
5. 以后的路还长着呢...
shizaigaole:
和学其他单片机一样:
1. 买块开发版,熟悉编译,下载环境;
2. 写个跑马灯,自己感受一下;
3. 把STM32的中断,尤其是定时中断搞清楚;
4. 作为硬件应用来说,一定还要仔细看看IO引脚相关电气方面的参数。
到这一步就基本入门了。
但是要熟练使用STM32,还要踏踏实实的把STM32的文档手册读一遍。
然后学习编译器自带的例程,把这些例程精简以后移植到自己得开发版上去跑一跑。
其实做几个模块后,就基本熟悉了。
以后要用的就再去啃手册和例程。
shizaigaole:
说白了三句话:
1.熟悉编译下载环境;
2.啃手册;
3.研习官方例程。
feilusia:
这是我自己的学习路线:
1、51学习寄存器操作(网上资料大把,不局限谁的资料)
2、STM8学习寄存器和库操作(看风驰电子的资料)
3、STM32学习寄存器和库操作(看正点原子的资料)
4、CC2541学习协议栈(看amo的资料、看我写的资料)
5、安卓入门学习(看《第一行代码》)………………(目前我所处阶段)
6、安卓蓝牙学习(未知)
ywlzh:
哈哈哈 我路过,也说说吧,初学STM32,我也是从8位,16位单片机走过来的,学习的第一步,就是点亮个灯。
有人是只管点亮就行了,有人是会继续深究为什么会点亮。
目的是一样的,但有人是走个过场,有人能举一反三。
STM32 相关文章:
- 盘点STM32-NUCLEO开发与仿真平台(03-28)
- 一种基于ZigBee和STM32的室内智能照明系统的设计(05-13)
- 大联大友尚集团推出ST STM32马达控制Nucleo开发工具包,可直接开始运转无刷直流马达(05-27)
- 这些VR设备“内脏”构造大解剖!绝对有你没见过的(02-14)
- 在变频空调风机中永磁同步电机矢量控制方案的运用(04-04)
- 基于STM32和SIM900A的无线通信模块设计(10-07)