我们随便在招聘平台搜”嵌入式开发”这个职位,看到很多职位都要求会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,方法很重要!

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

  1. 单片机零基础入门(8-4)实战:单片机动态数码管消影---附源代码

    单片机零基础入门(8-4)实战:单片机动态数码管消影 一.回顾 二.问题及原因 三.解决办法: 四.解决后的源代码: 五.补充知识:数码管驱动方式 1.单片机直接扫描: 2.专用驱动芯片: 一.回顾 ...

  2. 单片机零基础入门(9-1)实战:模块化编程(模块化两个案例含源码--以及无法显示头文件(.h)的解决方案)

    单片机零基础入门(9-1)实战:模块化编程-(以及无法显示头文件(.h)的解决方案) 本文作为单片机零基础入门(8-5)模块化编程的拓展和补充,比前面的单片机零基础入门(8-5)模块化编程更为详细. ...

  3. 如何零基础学习python语言_零基础如何入门Python语言?有哪些学习建议?

    众所周知,Python目前是最受欢迎的编程语言之一,尤其是对于零基础的初学者来说,Python语言更是十分的友好.因此,不少初学者常常会有这样一个共同的疑惑,零基础如何入门Python语言?本文就来给 ...

  4. 零基础AJAX入门(含Demo演示源文件)

    零基础AJAX入门(含Demo演示源文件) 作者:一点一滴的Beer  个人主页:http://www.cnblogs.com/beer 摘要:因为笔者的大四毕业设计是做WebGIS系统,用过Web版 ...

  5. 零基础学python语言_零基础如何入门Python语言?有哪些学习建议?

    众所周知,Python目前是最受欢迎的编程语言之一,尤其是对于零基础的初学者来说,Python语言更是十分的友好.因此,不少初学者常常会有这样一个共同的疑惑,零基础如何入门Python语言?本文就来给 ...

  6. 零基础自学python看什么书-零基础Python入门看哪本书好?这里有答案

    原标题:零基础Python入门看哪本书好?这里有答案 Python入门看哪本书好呢?Python入门不知道该选哪本书?Python入门没有一本好书引导,会很难吗?你还在为这些问题困扰吗?今天小编就来解 ...

  7. layuiadmin上手好难_新手自学板绘先学SAI还是PS好?零基础绘画入门需知!

    原标题:新手自学板绘先学SAI还是PS好?零基础绘画入门需知! 新手自学板绘先学SAI还是PS好?初学者如何入门绘画?学习板画难吗?怎样才能学习好绘画?想必这些都是绘画初学者们经常在想的问题吧,就是不 ...

  8. docker启动sqlserver_ASP.NET Core容器化技术Docker零基础从入门到实战演练

    <ASP.NET Core使用Docker进行容器化托管部署> 一.课程介绍 人生苦短,我用.NET Core!今天给大家分享一下Asp.Net Core以Docker进行容器化部署托管, ...

  9. 零基础前端入门,真正难在哪里?简说编程思想和逻辑思维

    很多同学跟我说,学前端学的很迷茫, 就这样,问他为啥迷茫吧,说也说不出来啥具体的.就是也学了一堆东西,也确实都是前端开发工作当中要用的.但依然不知道前路如何. 这里就有一个"前端入门的标准& ...

最新文章

  1. 跨界创新,智启未来 | 清华大学大数据研究中心2021年RONG奖学金答辩会成功举办...
  2. wireshark抓包理解TCP的三次握手
  3. Android OpenGL ES 入门系列(一) --- 了解OpenGL ES的前世今生
  4. iOS之深入解析内存管理Tagged Pointer的底层原理
  5. 观察者模式的应用场景
  6. 卷积神经网络系列之softmax,softmax loss和cross entropy
  7. 1.微信小程序-B站:前言准备
  8. nod找不到服务器,Nodejs服务器:无法加载资源:服务器响应状态为404(未找到)...
  9. Machine Learning---LMS 算法
  10. 多线程,多进程使用场景
  11. NAACL2021论文:UniDrop:一种简单而有效的Transformer提升技术
  12. 信用评分-(scorecard)记分卡开发流程,详细介绍分数校准原理calibration
  13. LC-3 汇编语言 指令集
  14. nginx获取代理服务ip及客户端真实ip
  15. 谷歌浏览器开发者模式
  16. vue 自定义marquee横向无缝滚动组件
  17. Arcgis实现nc数据区域裁剪并输出nc文件
  18. 《大数据大创新:阿里巴巴云上数据中台之道》:解密阿里数据中台建设
  19. Voters in Appalachia Struggling to Identify With Presidential Candidates
  20. 游戏陪玩App,如雨后春笋般冒出,直接导致整个游戏陪玩源码市场的持续火爆

热门文章

  1. python批量发送邮件_Python3+Excel实现自动批量发送邮件功能
  2. 西门子PLC用TIA博途SCL语言写的一个产生随机实数的指令块(学习1)
  3. Multiply Strings
  4. 20189311《网络攻防》第八周作业
  5. 2021年IT行业项目管理调查报告
  6. python语法认为条件x小于y小于z是合法的_Python初识——基础篇
  7. brpc访问MySQL_brpc一些笔记 -- 从http看协议实现
  8. 如何进行同声翻译?这些同声翻译在线翻译方法大家都在用
  9. 微信小程序“同声传译”插件(语音识别,语音合成)体验
  10. [时间序列分析]原创 - 海岛算法