除了学习顺序,学习方法和深度都是不同的。 51 单片机一般是需要系统学习,熟悉每个外设对应的寄存器配置。 而STM32我几乎没看过多少次数据手册,直接调库把外设用起来就行。 很多东西,你现在理解起来很难,等你经验积累的差不多了,自然而然就领悟了,不需要刻意去学习。 比如看STM32的数据手册,哪怕是看中文的,很多寄存器干嘛用的,你完全看不懂的。 拿我自己为例子,说出来有点讽刺,但是很真实。 我英语水平很差,我是怎么看英文数据手册的,是根据我的经验去猜测和理解数据手册。 我相信,像我这样的工程师应该不在少数。 因为用多了,看多了,很多核心的参数都是相同的。 学STM32也是一样的,想通过数据手册去学单片机简直就是噩梦。 正确的方法,不管三七二十一,哪怕复制例程,我把外设先用起来看看效果再说。 总比看枯燥数据手册有趣多了,用起来了再尝试去改一些参数,改引脚,改定时时间,改通道… 等你把STM32固件库用熟了,发现某个外设的结构体成员对应正好也是对应某个寄存器。 这个时候再针对性去研究对应的寄存器,就会好理解很多。 一般上了STM32这种级别的单片机,通过项目去学习是最快的。 假设在此之前,你已经学过别的单片机了,那这个时候对你最有价值的不是学会STM32。 而是能做项目的能力,从专业术语来说就是项目思维和编程水平。 单纯从开发板上学习,只能学会单片机这个工具,学完你会发现还是不会做项目。 这也是无际单片机编程让学员以项目驱动学习的原因,我自己就是通过项目学会STM32的。 对于不能落地的东西,不管是知识还是想法,都是在消耗时间。 |