您好!欢迎来到一线生活-深圳论坛
关注我们
扫码关注官方微信
手机版
手机扫描直接访问

零基础学stm32要多久?stm32应该怎么学?

0
回复
211
查看
[复制链接]

8488

主题

1万

帖子

2万

积分

论坛元老

Rank: 8Rank: 8

积分
28782
发表于 2023-3-20 20:50:38 | 显示全部楼层 |阅读模式
STM32由于资料丰富、稳定、性价比高深得广大工程师和企业的喜爱。


现在随便在招聘平台上搜索单片机开发或者嵌入式开发,基本都要求会STM32。


我用STM32也有很多年了,基本上是围绕着F103、F030系列来做产品,对这个芯片的学习深有感触。


很多新手入门stm32都感觉很复杂,几百个寄存器,复杂的内核结构,详细的数据手册都几百页。


再加上软件是基于固件库开发,其中涉及到了大量的结构体、枚举、指针的应用。


如果没一定的C语言和单片机基础想快速入门还是比较困难的。







今天结合自己经历和经验,来跟大家分享下自己曾经是怎么快速学会stm32的。


1. 零基础学stm32要多久?
如果你不懂电路基础、不懂C语言、不懂51单片机,千万不要一上来就学STM32。


还是那句话:看起来你是走了捷径,最终你花的时间肯定更长


Stm32的定位就是给工程师缩短产品开发周期用的,而不是给新手去学习单片机的。


因为固件库把底层的硬件驱动都写好了,你只需调库应用就行了,如果你没接触过51单片机,你可能压根都不知道单片机有寄存器的存在,而外设功能就是通过配置寄存器来实现的。


这种原理性的东西你不了解,后面每学一个外设,你可能都会产生很多疑问,为什么要这样配置?我想改配置怎么改?改了出现问题如何解决?


所以,如果按照正确的学习路径,从51到STM32,一个月的时间基本可以学完(每天8小时)。


那我总结最快的学习路径,在我以前文章有写,每个阶段学到什么程度都写得很清楚,并且给出了相应的教程和工具。


2.stm32应该怎么学?
我第一个学的单片机是51,然后就参加工作了,工作中用到了stc和nxp的,那时nxp用起来也比较痛苦,一个32位的单片机要配置寄存器来用。


后面制定新产品方案的时候,老工程师推荐用stm32干,说开发周期快,价格也比nxp便宜。


然后我就开始去研究STM32了,其实也没有刻意去学习,就买了一块开发板(主要是想要他们的例程)。


我先分析了我这个产品需要用到哪些外设,比如说GPIO、定时器、USART、ADC、中断,后面看了有个DMA也挺爽就顺势研究了下。


我的研究方法是直接用例程先在开发板跑一下,看下效果。


然后我会自己改一下例程,看下改哪个地方分别对应什么功能,比如说例程是操作PA0引脚循环高低电平切换来让LED闪烁,那会改成PB1或者其他,还有定时器中断改成20ms,30ms分别测试下。


这一波操作下来我基本就知道外设怎么用了。


Ok,至于芯片其他功能以及内核结构我就先不研究了,因为暂时用不上,先把产品干出来完成任务再说。


前前后后就花了1周时间,产品需要的外设就全部实现了,剩下的跟单片机就没关系了,而是功能逻辑处理了。


看到这里,或许很多人还是不明白,我总结一下:
1. 最好先学51单片机
2. stm32不用系统学习,当做一个工具能用起来就行了。
3.通过产品去学习一款单片机是最快的。




我看到很多人学习stm32,有1年都学不会的,也有几个月都学不会的,看得那个揪心啊!


很明显学习方法和路径不对,最常用的就那么几个外设,看着视频1周完全可以学完。


学完后,做项目一脸懵逼,无从下手是正常现象。


这不代表你单片机没学好,而是你缺乏产品的思维,不知道怎么结合外设、结合代码把功能实现。


所以,学完外设直接就干项目,最好找个经验丰富的人带着你做产品,这样成长最快,自己瞎做你接触不到别人好的代码架构和产品的思维。


虽然闭门造车,代码随便写也能实现产品功能,但是功能复杂以后,终究需要一个好的架构来支撑,否则后面会出现很多BUG可能导致你程序无限重写。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系我们

免费联系电话

400-8855-271

客服QQ:2524604571

服务时间:周一到周日8:00-23:30

关注我们
  • 关注官方微信

  • 手机APP