文章尾部有学习时的一些视频资料在学的可以看看那么我们就进入今天的主题我stm32的学习历程

在学习了51单片机之后,早已经对单片机这个东西甚有了解了,所有不管是从内部资源,还是一些常见应用,都可以说的头头是道。但51单片机只是一款入门级的单片机,只适合用来教学用,如果要想跟上社会的脚步,我们不应该停留在这个阶层。所以为了更深入的学习单片机,我便开始向更高端的单片机进军,而这款单片机便是STM32。

  32作为一款基于ARM内核的单片机,是目前市场上最受流行的。主要的原因,就是内部资源丰富,功能强大,足足可以应对大多数产品提出的要求。当时买32开发板的时候,我是买的最便宜的Mini版,但是价格已经接近200元了。这可是我省吃俭用积攒出来的,没办法,谁让自己热爱电子呢。

  收到开发板之后,我便开始了学习生涯,本以为有了51的基础,学习起来肯定很容易上手,结果我完全错了!当时学习方式有两种,一种是基于寄存器的,还有一种是基于库函数的,我选的是基于寄存器的。一开始,我先熟悉了硬件环境,后面开始进入第一个案列的学习。

  当然第一个案列同样是点亮LED灯,但是这个过程不像51单片机那么简单了。首先要配置引脚模式,引脚模式有四种,由对应的寄存器控制。配置好寄存器之后,才可以进行LED的点亮操作。当时唯一的感慨就是,32的寄存器真多,多到你怀疑整个人生,回想一下51就那么十几个,而32呢,反正我没数过,几百个应该是有的!更何况51是8位的,而32直接就是32位的。

  51中,我们在大脑中可以非常清晰,每个寄存器的每一位的含义。但是如果你用学51的方式这样去学32,肯定是行不通的。这时候我才真正知道,为什么大多数工程师都要有查“数据手册”的习惯,因为我们根本记不住那么多知识,只要知道怎么会用就行了。

  后面随着32知识的积累,慢慢的也就习惯了其中的功能。并且后面,学习下去,我放弃了寄存器方式的学习,而是转为了基于库函数的学习。毕竟我没有那么多的时间,去了解每一个寄存器的功用。如果把他们封装起来,不需要理会其中的寄存器,直接调用对应的函数,岂不是效率提高了很多,这也正是选择库函数学习方式的理由。其实这种越往后面走,你就越会发现这种思路是适应社会的发展的,也就是后端向前端走的一个趋势,前端向应用层走的一个趋势,正如学java的人,他们完全不必知道计算机是怎么工作的,只需要如何调用API就行。

  对于32的应用,我其实并没有做出太多的产品,这一切都是因为大二上学期接到了密室逃脱的项目,所以也就断了学习生涯之路,转而走向了工程这条不归路。我想这也可以解释我为什么毕业之后没有选择走研发之路,而是选择了更多的和工程打交道。

  印象最深刻的一个32实践就是基于鼠标交互的32最小开发板,这是一个双层板,并且布线也是挺密集的,画板我不知道用了多少时间,但是制作的过程记忆犹新。因为那同样是我熬夜做出来的一个半成品,为什么说是半成品,因为最后发现电路板画错了/哈哈。那段时间的确是事情多,所以也就放弃了修改,不过那块半成品板子被我当成了珍藏品,至今还在我自己家中的工作室置物架上。

  后面找工作的时候,发现,其实学好32还是很吃香的,很多小公司都会用32去做产品。所以,如果你自己真的非常喜欢电子这玩意,32这个单片机是一定要吃透的,这个单片机的学习是无止境的,谁让它功能强大,又顺应了时代呢,你说是吧!

(stm32串口应用)
http://www.makeru.com.cn/live/1392_1164.html?s=45051
(stm32直流电机驱动与测速)
http://www.makeru.com.cn/live/1392_1218.html?s=45051

STM32中断
http://www.makeru.com.cn/live/3523_1666.html?s=45051
(定时器)
http://www.makeru.com.cn/live/1392_1199.html?s=45051

来自一个电子狂的stm32学习历程的更多相关文章

  1. 大三仍是Linux系统小白的我给大家讲讲学习历程

    我与Linux结缘是在大三的时候.我与Linux熟识是在偶然遇到<Linux就该这么学>的时候.因为我是电子信息工程专业,在高年级时开设了嵌入式课程,嵌入式系统是一种专用的计算机系统,作为 ...

  2. Nginx系列0:Nginx学习历程

    Nginx学习历程 一.初识Nginx 1.Nginx适用于哪些场景 (1)静态资源服务 通过本地文件系统提供服务 (2)反向代理服务 Nginx的强大性能 缓存 负载均衡 (3)API服务 Open ...

  3. 【STM32学习笔记】STM32f407 使用4*4矩阵键盘

    作者:李剀 出处:https://www.cnblogs.com/kevin-nancy/ 欢迎转载,但也请保留上面这段声明.谢谢! 写在前面: 这是本人第一次开始写博客,可能写的不是很好,也请大家谅 ...

  4. stm32学习笔记----双串口同时打开时的printf()问题

    stm32学习笔记----双串口同时打开时的printf()问题 最近因为要使用串口2外接PN532芯片实现通信,另一方面,要使用串口1来将一些提示信息输出到上位机,于是重定义了printf(),使其 ...

  5. stm32学习笔记——外部中断的使用

    stm32学习笔记——外部中断的使用 基本概念 stm32中,每一个GPIO都可以触发一个外部中断,但是,GPIO的中断是以组为一个单位的,同组间的外部中断同一时间只能使用一个.比如说,PA0,PB0 ...

  6. Django的第一个web程序及深入学习

    本学习历程参照Practical Django Projects和http://djangobook.py3k.cn上翻译的内容进行 注:本例以本机加以说明: 根据Django的安装过程可知:在命令行 ...

  7. STM32学习笔记(二) 基于STM32-GPIO的流水灯实现

    学会了如何新建一个工程模板,下面就要开始动手实践了.像c/c++中经典的入门代码"hello world"一样,流水灯作为最简单的硬件设备在单片机领域也是入门首推.如果你已经有了一 ...

  8. 一个php小白找工作的历程

    一个php小白找工作的历程其实对新工作还是有点忐忑的,对于我这样一个有着特殊工作经历的来说更是如此.为了更好的迎接未来,不得不总结下过去.在经历一段时间的职业生涯探索期后,还是觉得自己更适合做程序员这 ...

  9. 我的Linux学习历程:那些我看过的Linux书籍们

    [+]查看原图http://www.ituring.com.cn/article/119401 来北京工作已经一个多月,大都市的生活比起读大学要忙碌得多,尤其是出行,基本以小时为基本的计时单位.有时茫 ...

随机推荐

  1. python从爬虫基础到爬取网络小说实例

    一.爬虫基础 1.1 requests类 1.1.1 request的7个方法 requests.request() 实例化一个对象,拥有以下方法 requests.get(url, *args) r ...

  2. codeforces 1082G - Petya and Graph 最大权闭合子图 网络流

    题意: 让你选一些边,选边的前提是端点都被选了,求所有的边集中,边权和-点权和最大的一个. 题解: 对于每个边建一个点,然后就是裸的最大权闭合子图, 结果比赛的时候我的板子太丑,一直T,(不会当前弧优 ...

  3. VMWare 鼠标无法点击 的问题

    今日发现在VMWare虚拟机中点击鼠标没有反应,但是鼠标hover.键盘都是正常的. 还表现为,如果从外部环境激活鼠标,然后移至虚拟机区域,快速双击,则可以捕获为单击. 这个问题在网络上未见有明确解释 ...

  4. python中取整数的几种方法

    1.向下取整: int() >>> a = 14.38 >>> int(a) 2.向上取整:ceil() 使用ceil()方法时需要导入math模块,例如 > ...

  5. ansible 使用记录

    copy: ansible server -m copy -a 'src=/etc/ansible/port/iptables dest=/etc/sysconfig/iptables owner=r ...

  6. 027_git添加多账号设置

    一. 注意事项: (1)公钥文件权限设置问题 现象: Permissions 0644 for '/Users/arunyang/.ssh/id_rsa_ele_me.pub' are too ope ...

  7. 解决nginx和php使用ckfinder无法上传大文件的问题

    现象描述:cms内容发布系统上传不了大文件,当上传超过32M文件时就上传不了 提示:无效的文件. 文件尺寸太大. 分析文件上传过程:browser --> nginx --> php 需要 ...

  8. 一次ES故障排查过程

    作者:莫那鲁道 原文:http://thinkinjava.cn/#blog 某天晚上,某环境 ES 出现阻塞, 运行缓慢.于是开始排查问题的过程. 开始 思路:现象是阻塞,通常是 CPU 彪高,导致 ...

  9. Golang 新手可能会踩的 50 个坑【转】

    译文:https://github.com/wuYin/blog/blob/master/50-shades-of-golang-traps-gotchas-mistakes.md 原文:50 Sha ...

  10. Angular路由——子路由

    一.子路由语法: 二.实例 在商品详情页面,除了显示商品id信息,还显示了商品描述,和销售员的信息. 通过子路由实现商品描述组件和销售员信息组件展示在商品详情组件内部. 1.新建2个组件修改其内容 n ...