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.做物联网网关时会实时跟服务器进行心跳监测,在如此高频和数据量大的情况下,怎么保证数据不丢包。
那解决这些问题所涉及到的技术点有回调函数、任务调度、队列算法等等,如果全部吃透并且加以优化,足以写出可移植性和可扩展性非常强的程序。
这个程序架构是开源提供给大家的,包括视频教程+源码+工具。
需要的大家可以找无际单片机编程获取,大佬就别来了,帮不了你。
这套架构算是我半个职业生涯的精华总结,如果没一定产品开发经验或许看不懂,但是值得你收藏吃灰,当你真正碰到那些问题后,再回过头来看,你会开心的像个小孩!
从零开始学单片机——STC 芯片烧写
我将用STC芯片和天问的图形化编程做一个单片机入门介绍,整个过程将按照够用就好的原则,尽量做到通俗易懂。
STC 芯片烧写
软件准备软件下载请先到http://stcmcudata.com/下载STC-ISP软件
然后解压就可以了,启动程序看情况安装。
(这个压缩包内含常用的烧写器启动程序)
接线STC烧写电路非常简单,只需要连接电源和串口,连接方式如下图:
注意:不同芯片引脚定义不用,要查下手册。
软件测试将烧写器插入电脑,①位置会跳转到对于串口,说明烧写器连接正常;
然后按下②,如果单片机和烧写器连接正确的话,③位置会显示操作成功,并列出单片机型号等数据。
同时④也会切换到对应的芯片型号。
如果说明接线、软件都正常了。
烧写程序如果你已经编程好程序,就可以点击⑤选择;然后点⑥下载。
下一节将,介绍图形编程简单操作。
相关问答
如何在keil4中添加 STC单片机 ?1、在STC的官网下载好最新的STC-ISP软件,然后在电脑上打开此软件。2、在kiel仿真设置页面下,点击“添加STC仿真驱动到keil软件中/添加型号和头文件到keil软件...
stc 8g 单片机 程序烧录方法?方法如下:单片机板和转换板连线对应连接好,如发现无法通讯,可调整2、3的连线。1、地线----地线。2、TXD-----RXD。3、RXD-----TXD转换板由于PC供电,指对...
单片机 烧录器烧录步骤?需要利用下载器和下载软件才能将keil程序输出的hex文件烧录到单片机中。具体操作请参照以下步骤,演示单片机为51单片机。1、首先准备好51单片机最小系统板和...
stc单片机 如何单线接收信号?你好,STC单片机可以通过单线接收信号的方式来实现通信。具体步骤如下:1.准备一个IO口作为接收信号的引脚。可以选择任意一个IO口,但需注意引脚的电平兼容性...
怎样在protuse添加 stc单片机 ?点击这个“LBL”按钮,在弹出一个对话框里将STRING修改成:net=P0#,#号的意思就是变化的数字,怎样变就靠下面的两个参数,Count(初始值)和Increament(增量)。...
怎样编写 单片机STC 11语音控制程序?单片机语音控制方案一般为:单片机+在线语音识别模块+要控制的设备。单片机+离线语音识别模块+要控制的设备使用语音识别模块,编写单片机程序时,可以根据模块...
stc单片机 如何驱动继电器?驱动继电器的STC单片机需要通过其IO口控制。通常,将继电器的控制端连接到STC单片机的一个数字输出引脚上。在程序中,将该引脚设置为高电平或低电平,以控制继电...
STC单片机 基本原理?STC单片机是高速、低功耗、超强抗干扰的新一代8051单片机51单片机,指令代码完全兼容传统,内部集成MAX810专用复位电路。4路PWM8路高速10位A、D转换,常应用强...
stc 51 单片机 怎么烧写程序?STC单片机的程序可以通过串口烧录器进行烧录,具体步骤如下:1.准备好STC单片机芯片、串口烧录器、烧录软件STC-ISP和待烧录的程序文件。2.将STC单片机芯片...
怎么将 单片机 芯片里的程序倒出来-ZOL问答3条回答:【推荐答案】两个方法:1.直接用仿真器或烧录器读出芯片内的程序;2.用反汇编的方法将机器码转化为代码,再人工编辑源代码