写AVR已经两年了。如果初中时候玩Arduino也算的话,就是6年。

两年以来,我用AVR单片机完成了两个大项目:

  • AVR单片机教程,一时兴起写的,效果不好;

  • MEDS,参赛用的课题,半完成,比赛都结束了就放弃了。

以及若干小项目,AVR×C++、光立方、摇摇棒等,还有未完成的USB下载器、升级版光立方和摇摇棒等。

尽管还有未完成的项目,我对AVR已经有点厌倦了。这有很多原因:

  • AVR性能实在不行,自编程单片机系统感觉很悬(可能是我好高骛远);

  • 我接触到的AVR单片机都是十多年的型号了,新的ATmega4809感觉很不错但是买不到,我吃不到葡萄说葡萄酸;

  • AVR社区环境不好,至少我感觉不好,Arduino玩家跟我不在一个频道上;

  • 答辩的时候被问到为什么用I²C不用CAN,我根本不懂CAN,感觉自己too young;

  • 前两天有人问我硬件学习相关的,涉及到物联网,我又不懂了,感觉自己too simple;

  • 之前去交大电院感受过STM32,感觉很牛逼。

总之我主观地得出一个结论,AVR整不出什么名堂。我深知AVR是我的舒适区,于是我又把该结论扩展到所有8/16位机,逼自己跳出舒适区,学STM32。

说来也巧,STM32开发板和下载器我手边都有。之前买电子元器件的时候看到一块开发板降价,想着以后肯定要用就买下了,STM32F407VET6核心板,42.9元。下载器呢,以前捣鼓STM8的时候买了ST-LINK,8.8元。

不花现在的钱就等于不要钱。至于开发工具和教程等,网上都有免费的,很容易找到。于是我成功地0元踏上STM32之路。

现在环境已经搭建好了,写了两个简单的程序,STM32CubeMX+HAL非常友好,我不知道我为什么现在才跳出舒适区。

其实我还有一块F103核心板,还有另一种下载器,400多元的开发板也在购物车躺了很久了,这些都侧面反映出STM32的草已经种得很深了。现在非常后悔,为啥之前一直不肯跳出舒适区,把大把时光都浪费了呢?

之前写AVR的文章,定位是教程,教程要求准确无误,不能误导读者,这给了我很大压力,要有据可考,要旁征博引,要尽量全面地分析。

本系列的定位是学习笔记,可以错,甚至可以抄。但我还是尽量保证准确,并加入自己的理解。我自认为我对编程的理解比大多数人深刻,我希望这一点能继续保持。

我不期待本系列会有读者,权当唱独角戏了。当然如果你愿意看我的笔记的话,我会很开心的;如果你能有收获就更好了。无论如何,用博客记笔记是一种好习惯。

写这篇文章,就是为了督促自己学习,争取周更。如果做不到,我就把这篇文章放在这里,嘲笑一个井底之蛙,或是一个浅尝辄止的人。

STM32学习笔记——序言的更多相关文章

  1. STM32学习笔记——OLED屏

    STM32学习笔记--OLED屏 OLED屏的特点: 1.  模块有单色和双色可选,单色为纯蓝色,双色为黄蓝双色(本人选用双色): 2.  显示尺寸为0.96寸 3.  分辨率为128*64 4.   ...

  2. STM32学习笔记——点亮LED

    STM32学习笔记——点亮LED 本人学习STM32是直接通过操作stm32的寄存器,使用的开发板是野火ISO-V2版本: 先简单的介绍一下stm32的GPIO: stm32的GPIO有多种模式: 1 ...

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

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

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

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

  5. STM32学习笔记(四)——串口控制LED(中断方式)

    目录: 一.时钟使能,包括GPIO的时钟和串口的时钟使能 二.设置引脚复用映射 三.GPIO的初始化配置,注意要设置为复用模式 四.串口参数初始化配置 五.中断分组和中断优先级配置 六.设置串口中断类 ...

  6. STM32学习笔记-NVIC中断知识点

    STM32学习笔记-NVIC中断知识点总结 中断优先级设置步骤 1. 系统运行后先设置中断优先级分组 函数:void NVIC_PriorityGroupConfig(uint32_tNVIC_Pri ...

  7. STM32学习笔记之一(初窥STM32)

    怎么做好学习笔记? 答:自我感知-->学习知识-->归纳总结-->自我升华(真正属于自己的知识是,抛开书本,运用时,你还能记得的思想) 自我感知--看到知识概念,先自我感觉那应该是个 ...

  8. STM32学习笔记(一)——点亮一个LED

    引言 最近报名了2017全国大学生电子设计竞赛,我们学校是第一次参加这个比赛,由于8/9月份就要比赛了,所以现在准备是比较晚的了,指导老师说只能做控制类的题目了,让我们学习一下STM32单片机,51到 ...

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

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

随机推荐

  1. 2019牛客暑期多校训练营(第三场)G.Removing Stones(ST+分治)

    题意:给你n堆石子 每堆有ai个 现在问你有多少个连续的区间保证最大值小于等于该区间和的两倍 思路:我们可以考虑每个区间的分割点 总是该区间的最大值 所以我们只要ST找到该区间的最大值 然后每次都枚举 ...

  2. hdu3706 Second My Problem First

    Problem Description Give you three integers n, A and B.  Then we define Si = Ai mod B and Ti = Min{ ...

  3. Codeforces Round #649 (Div. 2) A. XXXXX (贪心)

    题意:有一个长度为\(n\)的数组,找一段最长子数组,使得其元素和为\(x\),如果存在,输出子数组的长度,否则输出\(-1\). 题解:这题我们要从元素和\(sum\)来考虑,首先,如果原数组的所有 ...

  4. C# 程序运行时间计算

    https://www.cnblogs.com/dearzhoubi/p/9842452.html

  5. 国产网络损伤仪SandStorm -- 为什么数据流还是走Bypass链路?

    如果你在使用网络损伤仪SandStorm测试移动互联网的应用程序或者在仿真所谓"弱网测试"的时候,发现所有的数据流还是在走Bypass链路,并没有预期地走自己创建的仿真链路,那么你 ...

  6. 爬虫——urllib.request包

    一.引用包 import urllib.request 二.常用方法 (1)urllib.request.urlretrieve(网址,本地文件存储地址):直接下载网页到本地 urllib.reque ...

  7. ACM-ICPC 2018 徐州赛区网络预赛 B BE, GE or NE 【模拟+博弈】

    题目:戳这里 题意:A和B博弈,三种操作分别是x:加a,y:减b,z:取相反数.当x或y或z为0,说明该操作不可取,数据保证至少有一个操作可取,给定一个区间(l,k)和原始数字m,如果A和B在n次操作 ...

  8. springboot(五)Scheduling demo

    在项目开发过程中,经常会使用到定时任务(跑批),springboot默认已经实现了,只需要添加相应的注解就可以实现 在启动类上加入注解,开启定时任务 @SpringBootApplication @E ...

  9. 痞子衡嵌入式:超级下载算法(RT-UFL)开发笔记(3) - 统一FlexSPI驱动访问

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是超级下载算法开发笔记(3)之统一FlexSPI驱动访问. 文接上篇 <超级下载算法(RT-UFL)开发笔记(2) - 识别当前i. ...

  10. 可重入锁ReentrantLock解析

    说到可重入锁,先从AQS的ConditionObject说起,AQS的内部类ConditionObject是构建显示锁条件队列的基础.之前AQS的解析没有说这个内部类,这里和ReentrantLock ...