完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
今天结合自己经历和经验,来跟大家分享下自己曾经是怎么快速学会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可能导致你程序无限重写。 |
|
|
|
只有小组成员才能发言,加入小组>>
2513 浏览 0 评论
1083浏览 2评论
700浏览 1评论
452浏览 0评论
193浏览 0评论
329浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 04:19 , Processed in 1.242893 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号