IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> stm32单片机学习秘籍(完整版) -> 正文阅读

[嵌入式]stm32单片机学习秘籍(完整版)

大家好,我是华维麦琪,今天来分享下我们华维团队十年经验总结,如何能快速学好stm32单片机!

最近看到很多小伙伴学STM32学的一脸懵逼,有些甚至学1年都不会,有些虽然学会了外设使用,一做起项目来无从下手,感觉自己学了个寂寞,白白浪费时间!

现在随便在招聘平台上搜索单片机开发或者嵌入式开发,基本都要求会STM32。我用STM32也有很多年了,基本上是围绕着F103、F030系列来做产品,对这个芯片的学习深有感触。

很多新手入门stm32都感觉很复杂,几百个寄存器,复杂的内核结构,详细的数据手册都几百页。这个过程需要通过合适的方法跨越。

由于STM32的功能多,其原理又与传统的8位单片机完全不同,再加上软件是基于固件库开发,其中涉及到了大量的结构体、枚举、指针的应用。

STM32是意法半导体较早推向市场的基于Cortex-M内核的微处理器系列产品,系列产品具有成本低、功耗优、性能高、功能多等优势,并且以系列化方式推出,方便用户选型,在市场上获得了广泛好评,深受广大工程师和企业的喜爱。

今天结合自己经历和经验,来跟大家分享下自己曾经是怎么快速学会stm32的!字数可能有点多,你一定坚持看下去,将会收益终身!

我自学完51单片机就出去找工作了,2011年的夏天,很多科技公司对这个职位的要求还不高,会51会改程序基本就能找到工作。那个时候STC单片机比较多,做的是MF卡的权限控制板,之后陆续接触了TFT产品,也用到了NXP,这应该是第一次与32位ARM7的邂逅,比51还复杂,当时我是一头雾水!

后来听隔壁的同事推荐下,我去学习了stm32单片机,果然32条线开发周期短,用起来省时省力!我总结了当时学习的主要经验如下,如果坚持下去说不定能从菜鸟到牛人达成质的飞跃!(偷偷告诉你,我是私下自学的)

一、一周入门计划

这里所谓的“入门”,指的是能理解并掌握一些常用的STM32外设,真正想真正掌握一款处理器,一周根本说明不了什么问题。

1.大胆去做,不怕犯错,一回生二回熟,总结经验,举一反三

我当时踩了好多坑,不爱看数据手册,都是直接复制例程看效果,当时特别憋屈,复制过来 还翻译错!不断地尝试看到例程效果以后,就会去改这个例程的外设配置,比如说例程是控制PA1引脚的灯闪烁,那我会改成PB2,PC2或者其他测试下。

比如说例程定时器1中断是10ms,那我换一个定时器2中断20ms,这样去测试。一周之后你会发现很多东西迎刃而解,学习stm32单片机是多么快乐!

另外我是下班时间慢慢钻研的,如果您每天只有业余时间来学习STM32,建议根据您的具体情况安排时间。毕竟计划时间如果安排太紧,反而收不到良好的效果,只能进入恶性循环,这是我们要避免的。

2.会用就行,不要深挖

单片机博大精深,正是因为这样要根据实际情况来定,记着我们学单片机的目的是产品开发,把产品的外设跑起来,并且知道怎么修改就好了,经验是慢慢积累的,切勿操之过急!

如果你照着例程都不会用的话,很有可能你是没学过51单片机,内部结构和功能部件的特点和属性你都懵懵懂,我劝你还是别浪费时间了!还是把时间用在学习51单片机上,继续关注我的文章,我会总结出一篇学习stm32单片机的基础经验,帮助你们快速上手stm32单片机,减少不必要的时间!

二.两周进阶

进阶最快的方法就是去接触实际产品开发!等你掌握一些常用的STM32外设,接下来就是进阶阶段,大多数人在这个阶段提升是最慢的,主要有如下原因!

1.新手没办法进行实际产品开发,即使接触也是参与项目边缘化的工作,无法学到核心内容!

2.没有人带,经验不足和产品思维没办法提升

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

所以很多新手,特别是应届生有一个很普遍的现象,接触不到实际产品开发,找工作像个小白,找不到工作就很多人放弃转行了!

对于进阶这块,我在19年尝试针对这种情况录制了一套视频,计划只是录出来玩一下的。

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

图片

图片

图片

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

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

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

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

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

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

图片

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-12-11 15:53:12  更:2021-12-11 15:55:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 12:17:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码