stm32单片机零基础怎么入门,用什么语言编程?

举报
无际单片机编程 发表于 2021/10/19 23:37:39 2021/10/19
【摘要】 我们随便在招聘平台搜”嵌入式开发”这个职位,看到很多职位都要求会STM32,为什么?   我个人也用了STM32单片机几年,感觉非常爽,后面做产品能用ST的基本不用别的。   主要原因有以下几点: 1.对这个芯片比较熟悉了 2比较稳定 3.资源丰富,价格也合理(最近涨价除外) 4.资料多,有问题能很快...

我们随便在招聘平台搜”嵌入式开发”这个职位,看到很多职位都要求会STM32,为什么?

 

我个人也用了STM32单片机几年,感觉非常爽,后面做产品能用ST的基本不用别的。

 

主要原因有以下几点:

1.对这个芯片比较熟悉了

2比较稳定

3.资源丰富,价格也合理(最近涨价除外)

4.资料多,有问题能很快解决

5.不用配置寄存器就能很轻松把外设开起来

 

其实除了STM32,STM8用着也很不错,虽然是用IAR开发环境,但开发方式都是调库,

大大缩短了产品开发周期。

 

一般做低功耗的产品,我都首选STM8L系列的单片机。

 

既然STM32的芯片市场需求这么大,作为开发者来说,想适应市场就必须去学习。

 

Stm32有人说简单,也有人说难,实际到底是怎么情况呢?

 

我个人感觉STM32还是比较简单的,就看你怎么学了,至少对于应用来说,很简单也方便。

 

如果你站在刨人祖坟的角度去学习,会很难!

 

如果你只想把它当工具用,学习会很简单。

 

在接触STM32之前,我已经有几个项目的经验了,虽然是用STC和NXP单片机。

 

但是单片机无非就是那么回事,配置寄存器控制外设,最后外设去控制电路实现产品的功能。

 

大概就是这么个原理,区别就是不同的单片机外设资源不同,以及配置方式不同。

 

有些单片机是需要自己手动去配置寄存器的,比如说51单片机,NXP(几年前是,现在不知道有没有提供库)。

 

有些单片机是直接提供了标准库给你调用,通过调用库函数就能把单片机外设开起来,典型的就是STM32。

 

这样就会产生一个问题。

 

如果你之前没接触过51单片机,一上来就干STM32,你很难去理解配置寄存器开外设的流程。

 

这样相当于给你的学习过程埋下一颗定时炸弹,随时都会爆,具体体现就是你每学一个知识点都会有很多搞不懂的地方,这就是基础知识缺失导致的。

 

所以,我一直要求的我学员,我不管你有多聪明,必须从51单片机开始学习。

 

而事实也证明,看似你直接从STM32是走了捷径,实际所花的时间比从51开始学习要多,理解也没那么深。

 

不管你是入门51还是STM32单片机,如果自学的话,最好是购买一块开发板。

 

然后对照着开发板配套的视频教程,每看完一个章节都做亲手做一个实验。

 

顺利的话,基本上半个月就能上手了。

 

单片机编程一般通过两种语言:

1.汇编

2.C语言

 

现在汇编一般用的少,只有那些RAM和ROM非常小的单片机才会用汇编去开发。

 

大多数都是以C语言为主,所以我建议前期只学习C语言就可以了,我做了10年基本没用汇编开发过产品。

 

偶尔一些启动文件要用汇编改,比如说移植系统,修改堆栈大小。

 

这些都非常简单,直接搜一下相关指令看下什么意思就行了,没必要为此系统去学习汇编。

 

我当初根本没系统去学过STM32,都是有产品用到了,我就顺势买了个开发板(主要是要他们开启外设的例程),视频我都懒得看。

 

有例程以后,从代码基本上可以看得出来是什么意思,单片机都大同小异。

 

比如说配置IO口,我们先要把GPIO时钟打开,然后选择你要配置的引脚,设置输入还是输出模式,输出模式又分上拉、下拉、推挽、开漏等等。

 

最后就可以控制IO输出高低电平了,如果你有别的单片机基础,很快就能上手。

 

别人提供固件库给你,出发点就是不想让你浪费时间去理解芯片复杂的寄存器配置。

 

很多人学不会就是这里走了弯路,研究STM32数据手册去配置寄存器,几百上千个寄存器想看完不现实。

 

所以,学习STM32,方法很重要!

文章来源: blog.csdn.net,作者:无际单片机编程,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_43982452/article/details/118024635

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。