你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

如何了解STM32入门、进阶经验分享

[复制链接]
攻城狮Melo 发布时间:2023-3-26 16:28
一、想快速入门进阶,面向工作时
) G) i# |* x" ]先把工作中需要的东西学会,一项一项的来,比如先把GPIO弄清楚,怎么初始化,怎么输入输出,然后定时器、串口、ADC、DAC、DMA、SPI等等先把用得着的一个一个地做,1 x! G, A7 i$ D( E# x! p4 Y
都弄明白了再往一块整合,从简单到复杂,硬件操控起来了也就算对这种单片机入门了吧,软件方面,不管用什么单片机,用什么编译器,区别不大初学的最好还是买个开发板,不
# H! \/ }* A) ~* e9 I' p4 [需要多高级的,有几个常用功能做出来,其它就容易了。--------hdxet
8 h* x% ^/ k/ _; g关于初学者是否需要弄清底层函数问题:
2 X3 C- g  u- j5 ]先玩起来再说底层函数,一般就用现成的库,绝大多数应用都没问题的,至于库里面是什么,先不管它,到了高级阶段再去看--------hdxet2 S# i5 o6 X( ^1 i/ \
2 h+ q. V, |" G5 i
二、进阶步骤
4 a+ v- _" _/ ^$ D, G" ?7 ]( H会点灯-入门;
  p) H, S; u* s: o: L) h会使用各个常见中断,能把项目做出来-熟练;
, Y* l9 D$ ~: U" Q  E; a, `会DMA、PWM各种模式,能把项目熟练完成-精通;$ R& b( Y$ y4 I$ V
会CAN,USB,RS232,RS485,SPI,I2C,运动控制,电机驱动,各种滤波算法,PID算法-非常精通。--------coleyao" b7 K& y% _1 D. l0 H
( y- Q7 ^. |% M/ f. d) x
三、经验分享
+ O3 Q$ n+ N: [; Z. U自己的体会,对不对不知道哈。我自己学MCU就是大学里学的51单片机,所有功能会用算是入门槛,后来学习和工作慢慢接触其他的PIC,Freescale,STM这些,慢慢发现其实
. g; a: e0 ^$ K东西都是有相通的,但是一定要动手,不管是用例程还是自己写,都要带板子跑代码,过程中肯定有问题慢慢解决,才能有提高,而且现在的片子底层驱动库都有,项目用的时候就9 A- C+ x5 G7 j
是参考一下手册会调用,底层驱动功能正常就可以了,很少项目里面从零开始写代码了。--------Lu.Shi  H! B1 {4 D2 D
! T. y& X* Y5 v* q: P. H0 t5 {3 p
四、经验分享
$ p# |2 c& ^' k" ^, L1 ^建议:初入STM32的学习者不用记,直接用就行了,这个玩意,实践才能进步;边学边用才是正途,关键是用,不是学。------leicai050 S7 A5 f3 f; p

# \3 s! |% n8 k$ l
五、经验分享
. c7 ]) h+ U, x( T) H. }可以自己试着完成一个功能,比如简单的流水灯,逻辑肯定自己写,涉及到stm32的比如怎么初始化、怎么配置之内的不会的可以查资料,但是一定要要有自己的思想,
" `; A/ h* K6 b/ F完成了我觉得就算入门了。------Llinuxu
. ]2 P# A) m# H$ ?2 j) L& I
7 t$ ^" C7 J8 H+ q) P1 B& |9 O/ N
六、关于初学者是否要弄懂底层函数) A* k8 {- `1 {4 v: z) F6 p
初学者没必要弄懂底层函数。项目需要用到什么再去研究什么。比如你的项目只要点亮一个LED灯,那你只研究怎么配置GPIO就好了,没必要去研究什么PWM了。现在
9 P9 s3 I& m5 A; X: r& i" b, K! W有个神器叫STM32CubeMX,直接生成一些底层初始化代码,加上HAL库调用,哪里不会再查哪里。底层函数这玩意,你调用多了,自然会去研究怎么配置达到你要做的效果,
, r& v. ^5 s3 K* s8 q在项目中进击,没必要一上来就啃底层,专注你的算法才是真正有意义的事情。------oner* e4 v2 J2 D1 P9 u; @  M
6 ?0 o0 C1 \- y; K0 m
七、经验和观点的分享0 n* W$ _6 ?- Q
我也有思考,如何清晰、系统地学习 STM32,建立整个 Cortex-M 知识体系,以及相应的理论支撑,并最终应用到 Cortex-M 内核 MCU。现有的教程也都没有构建这样的! D) Z9 j) c' |, @2 B5 C! J
知识体系,学习、成长路线,所以很多人(包括我自己在内)都会在某个阶段遇到瓶颈。到头来发现自己依旧停留在知道这个点,也会用,会面向百度编程,但一遇到问题需要
5 _8 [2 S# P. ~9 E$ X调试,需要更多的理论支撑的时候,就无从下手了。
# d, `+ j: t( z1 M0 {  ^" V另外,STM32 做项目的话,应该也少不了使用操作系统,所以 RTOS 还是需要学习的。RTOS 面又是比较多的,现在又有物联网操作系统的概念" r/ V4 v- C) R% L% M1 K
(比如 RT-Thread【物联网相关的软件包非常多】,华为的 LiteOS【官方动作比较小】,阿里的 Aliosthings【WIFi 等模组支持的相对较好】)。
' T/ r% t3 |6 P( P  {- S" d6 @所以,有人能把这套内容整合出来一个学习路线和测试验证知识点,应该会非常好。-------MurphyZhao7 e8 Z- ]1 I3 m. ]- Y
; ]# T9 Y: Q! X- Q) V! T/ {
八、经验分享(什么时候可以接触项目)(指导的很多方面)5 k7 f" l% w- Z1 N
会建立工程点灯就算入门8 V# m0 ]* e( @2 i
知道各个外设的基本特性就算基本熟练(定时器 SPI UART IIC SDIO FMC,有需要再看网络和USB) 知道怎么读取、控制外围设备(采样、显示、射频一类的),
6 y3 e8 \: d- f2 U会用现有库就算精通(RTOS/UI/存储/网络)剩下的都是工程经验,代码组织、排错、调试一类的,多做就行。
3 X1 T2 S2 }, t; k会用串口,能通过示波器看懂SPI/IIC的波形、能输出想要的波形,会输出PWM波,就可以开展项目了,另外是C语言要扎实,有一点总线知识,至少要明白$ F$ ], L. [% y8 b, Q$ L1 X6 r
堆栈的含义,知道自己随手定义的变量处在什么section,熟悉数据的内存组织结构更好(这些最好是多做调试多看MDK的Call Stack+local窗口和Watch窗口,看看
4 f# C7 `, [( j数据对应的内存地址和组织方式,对你深入了解语言、CPU有很大好处)。
  U3 `( N* F4 @$ V9 Y深入的逻辑、代码组织方式,需要你自己在实践中总结,看别人的源码也是比较不错的方式求快的话,不建议看视频,从PDF教程开始,配合官方的手册对照看。; C9 x; e7 }$ h( k7 Y
————————————————
9 E  Q4 p2 l7 r' F) c  H版权声明:被大佬糊弄的只会点灯的小菜鸡
9 g; K! O2 r# Y3 ~) K% \/ j! w9 `/ I如有侵权请联系删除% H0 z: @: @1 Y

. f. U  ^# e% }$ g5 q
" o; O4 |# ^4 A/ u" R9 l  N" y
赞 收藏 评论0 发布时间:2023-3-26 16:28

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版