产品选型

32单片机怎么学 如何学习32位单片机

小编 2024-10-09 产品选型 23 0

如何学习32位单片机

作为一个10年电子工程师来说,我使用过8位、16位、32位的单片机。不要纠结是8位单片机还是32位单片机,位数对开发工程师的使用并不是非常关键,因为这个难题已经被编译器给处理了。在学习的过程中难免走了很多弯路,我就简单的和大家分享一下。

刚开始学习的时候就是在摸石头过河,但凡遇上个问题就能卡个半天,能走到今天靠的是坚韧的意志不屈服的精神顶过来的。想当年建立个的工程就花了差不多四天的时间,但是建51的工程就是手到擒来的事,所以感觉起来stm32比51难上不少。

现在回过头来看完全没有必要学怎么建工程。因为后来我再也没有建过工程,每次都是使用建好的工程模板。所以我认为初学的时候也就没必要过多的去纠结如何学建工程。随便拿个闪烁灯的工程进行修改操作。

学习的时候也不用过于执拗,比如说IO口的高低电平操作,只要会用了就行。要知道人类的原始本能就是模仿,我们开始只需要多去模仿别人的程序甚至直接拿来用也可以,不要给自己增加难度老是做重复的工作。等学习一段时间后对芯片了解差不多,再回过头来看看之前想深入学习的东西。

学习的时候千万不要从头到尾的学,完全看完书或者学习资料再去做,因为现在单片功能太多,学是学不完的。而且技术这东西要多使用多实操,长时间不用很容易就忘掉。我觉得工作这10年,用到的功能连50%都不到。无非就是IO、UART、Timer、ADC、DMA等模块,其它通信IIC,SPI等全部用IO口模拟。

刚开始的时候经常去浏览别人程序当时只是浏览了一遍,了解了一下大体功能,感觉有用就复制下来了等用的时候直接复制粘贴。有些别人提供的程序、例程等都可以直接拿来使用。能不自己敲代码就不要自己敲,要学会利用别人的程序来节约自己的时间。

学单片机就是学应用,通过调用芯片里的东西然后结合别人的代码能让它跑起来也是可以的,其它的不要纠结太多。把简单的学会了就有成就感,就越学越有劲,形成良性循环,你就可以在这个领域坚持下去。

我们知道单片机,也叫MCU,一般有8位,16位、32位;在不同功能需求和成本要求根据具体情况来选择适合的单片机。

至于32位单片机好不好学习,这个不是一两句话能说的清楚的,要结合很多的因数,比如你的兴趣爱好,你的C语言水平,你的电子电路知识、你的自身学习能力、动手能力等等都有一定的联系。

市面上用的比较多的的32位单片机应该是ST的,也有比如NXP,瑞萨,富士通等。其实我们使用单片机主要是控制外围设备,单独一个单片机没有任何意义,所以学习单片机本身不是很难,我们大部分时间是在和外围的功能设备做交流、相互沟通的调试,大部分单片机本身的操作,原厂会做好SDK给你,不用太担心这个的问题。

说到单片机就得说到软件,目前主流的语言就是C语言,当然目前也有使用python的,但从效率而已,目前高级语言中,C语言效率最高了!所以要学好单片机,就必须有扎实的C语言基础!不然看例程都费劲,就别说学习了!学习32位单片机,可以找个普遍的单片机进行入手学习,比如ST的,网上教程多,资料多,使用广泛,是个不错的入门选择!

STM32单片机怎么学最快?我当初是怎么一周搞定的?

最近看到很多小伙伴学STM32学的一脸茫然,有些甚至学1年都不会,有些虽然学会了外设使用,一做起项目来无从下手。

那今天通过自己的经历来告诉大家STM32怎么学最快,领悟到了1周学会绝对没问题!

一、入门

我刚开始学完51就出去找工作了,那时是2011年,企业对这个职位的要求还不高,会51会改程序基本就能找到工作。

工作中我接触最多的就是STC单片机,做MF卡的权限控制板。

后面又接触到了TFT屏幕的产品,用到了NXP,那是我人生中第一次接触32位ARM7的芯片,使用起来跟比51复杂很多,但是原理都一样,需要自己配置寄存器来使用外设。

后面在一个老工程师的推荐下,听说STM32单片机开发用起来很舒服,开发周期也快。

然后一个新产品就换成了STM32,等搭建好开发环境以后准备看芯片外设怎么用起来的时候,发现一脸懵逼,怎么跟51单片机的程序架构完全不一样?

为了不在老大面前暴露自己的技术水平,我偷偷在某宝上买了一个STM32的开发板。

那个时候还不带视频教程,只是带了每个外设的使用例程。

我性格也比较浮躁,那些数据手册都看不下去,我直接复制例程里面的程序到我的工程里面先看看效果。

中间也踩了很多坑,比如说直接复制过来编译总是会报错,多半都是头文件没整好。

一番倒腾之后,例程终于能跑起来了,那么接下来我的学习技巧 是:

1. 举一反三

就是看到例程效果以后,我会尝试着去改这个例程的外设配置。

比如说例程是控制PA1引脚的灯闪烁,那我会改成PB2,PC2或者其他测试下。

比如说例程定时器1中断是10ms,那我换一个定时器2中断20ms,这样去尝试。

2. 会用就行

当你有系统学习stm32想法的时候,注定就要走很多弯路。

单片机只是一个工具而已,我们只要学会使用它就可以了。

我们学习必须有明确目的,我们目的就是通过单片机做产品产生价值。

把产品用到的外设都能够跑起来,并且知道改哪里是修改什么参数的时候就够了。

后续你随着你经验的增加,你对stm32的理解也会越来越深,很多曾经的问题也会迎刃而解。

如果你照着例程都不会用的话,那大概率是你没学习过51直接跳到STM32,或者没用51做过一些小项目。

这个时候与其死磕,还不如花点时间回去把51单片机系统学一遍 更快。

二、进阶

学会外设使用以后啊,接下来就是进阶阶段,大多数人在这个阶段提升是最慢的,主要有几点原因:

1. 新手接触不到实际产品开发,即使接触也是打杂,参与不到核心的开发。

2. 没有人带,经验和产品思维局限在自己的认知里。

3. 市面上教程都是开发板多,真正接近实际产品的学习板非常少。

所以很多新手,特别是应届生容易陷入了一个死循环,接触不到实际产品开发,找工作就没优势,找不到工作就更接触不到实际产品开发。

对于进阶这块,我在19年随便录制了一套视频,计划只是录出来玩一下的。

内容主要手把手教你写一个轻量级的时间片轮训操作系统,也可以理解成是一个程序架构。

在这个架构的基础上,我提供了在产品开发当中,经常会碰到的一些痛点解决方法,比如说。

1.如果一个产品有10个甚至更多按键需要同时检测短按、短按释放、长按、长按释放动作的时候,代码怎么写可扩展性更强?

2. 如果有10个甚至100个LED灯,要怎么实现每个灯独立的效果,比如说慢闪、快闪、隔3快闪2次,隔5秒快闪1次等等。

3.做物联网网关时会实时跟服务器进行心跳监测,在如此高频和数据量大的情况下,怎么保证数据不丢包。

那解决这些问题所涉及到的技术点有回调函数、任务调度、队列算法等等,如果全部吃透并且加以优化,足以写出可移植性和可扩展性非常强的程序。

这个程序架构是开源提供给大家的,包括视频教程+源码+工具。

需要的大家可以找无际单片机编程获取,大佬就别来了,帮不了你。

这套架构算是我半个职业生涯的精华总结,如果没一定产品开发经验或许看不懂,但是值得你收藏吃灰,当你真正碰到那些问题后,再回过头来看,你会开心的像个小孩!

相关问答

32 单片机 好学习吗?

32位单片机好学习吗?这是一个很多人想知道答题的问题!参加2017年的32位单片机编程竞赛,参加竞赛的最低年龄为14岁,而初级参赛组中最低年龄仅为8岁。所以应该...

32单片机 多久可以入门?

这个问题很难有确定的答案,因为每个人的学习速度和经验不同。但是,一般来说,如果有一定的基础知识(例如C语言编程),并且每天花费一定的时间学习和实践,那...

为什么叫 32单片机 ?

32位是指单片机的“字长”,也就是一次运算中参与运算的数据长度,这个位是指二进制位。以32位为例,其数据表达范围是0~4294967295,即每次参与运算的数据最大...

32单片机怎么 装驱动?

您好,32单片机的驱动可以通过以下步骤来进行安装:1.下载32单片机的驱动程序,可以从官方网站或其他可靠的软件下载网站上下载。2.解压缩下载的驱动程序压缩...

32单片机 接口做什么?

单片机虽然集成了较多的外设电路,但是并不能完全覆盖所有的功能。在用到开发板上所没有的功能时,需要自己通过引线搭建电路,由于单片机的引脚是以插针的方式引...

32单片机 和52单片机的区别?

51单片机和STM32单片机的区别51单片机是对所有兼容Intel8031指令系统的单片机的统称,这一系列的单片机的始祖是Intel的8031单片机,后来随着flashROM技术...

32单片机 的应用?

主要用于工业,民用,MCU应用一个重要指标是工作温度,工业和民用所需工作温度一般在125度以下,汽车应用要高,当然还要过车规级,STM32好像是没有车规级的,只...

stm- 32单片机 是做什么的?

stm-32单片机是做无人机制作。现在无人机主流的微控制器所用的就是stm32控制器。简单仪器仪表。stm32可以用作简单示波器、频率计,对采集的数字信号进行处理...

32单片机怎么 设置20毫秒的延时?

在定时器中断服务...然后设置定时器的计数值为20000(即20毫秒的时间),并开启定时器中断。在定时器中断服务程序中,可以设置一个标志位,表示已经延时完成。在...

单片机 编程要用什么软件? 单片机 编程如何快速入门?

你好,我就是做单片机嵌入式软件开发的,对于第一个问题,单片机开发一般都是用C语言,单片机的开发平台即编译器通用的有keil、IAR、eclipse等,现在eclipse也支...

猜你喜欢