写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. Python基础随笔①(MOOC)

    @ 目录 前言 概述 主体 1.基本语法元素 ①实例:温度转换 要求 分析 代码部分 运行结果 ②作业:Hello World的条件输出 要求 分析 代码 运行结果 ③作业:数值运算 要求 分析 代码 ...

  2. [POJ1985] Cow Marathon 「树的直径」

    >传送门< 题意:求树的直径 思路:就是道模板题,两遍dfs就求出来了 Code #include <cstdio> #include <iostream> #in ...

  3. HDU5213 Lucky【容斥+莫队】

    HDU5213 Lucky 题意: 给出\(N\)个数和\(k\),有\(m\)次询问,每次询问区间\([L1,R1]\)和区间\([L2,R2]\)中分别取一个数能相加得到\(k\)的方案数 题解: ...

  4. 【uva 1612】Guess(算法效率,2种想法)

    题意:已知 N 位选手的3题的预期得分,得分要不全拿,要不为0.且知道最后的实际名次,而且得分相同的选手,ID小的排在前面.问这样的名次可能吗.若可能,输出最后一名的最高可能得分.(N≤16384) ...

  5. Codeforces Round #555 (Div. 3) C2. Increasing Subsequence (hard version) (贪心)

    题意:给你一组数,每次可以选队首或队尾的数放入栈中,栈中元素必须保持严格单增,问栈中最多能有多少元素,并输出选择情况. 题解:首先考虑队首和队尾元素不相等的情况,如果两个数都大于栈顶元素,那么我们选小 ...

  6. Redis全面解析

    1.什么是Redis? Redis是BSD协议,是一个高性能的key-value非关系型数据库. 2.redis单线程问题 所谓的单线程指的是网络请求模块使用了一个线程(所以不需考虑并发安全性),即一 ...

  7. keras fit_generator 并行

    虽然已经走在 torch boy 的路上了, 还是把碰到的这个坑给记录一下 数据量较小时,我们可直接把整个数据集 load 到内存里,用 model.fit() 来拟合模型. 当数据集过大比如几十个 ...

  8. 牛客网多校第5场 H subseq 【树状数组+离散化】

    题目:戳这里 学习博客:戳这里 题意:给n个数为a1~an,找到字典序第k小的序列,输出该序列所有数所在位置. 解题思路:先把所有序列预处理出来,方法是设一个数组为dp,dp[i]表示以i为开头的序列 ...

  9. linux多线程模拟银行家算法

    题外话: 这应该是最近有点难度的作业了,起码比之前的理发师,读写,哲学家问题要难. 但是做好程序的结构,自顶向下,就还是不难的. 银行家算法简介:                 代码: init() ...

  10. codefoeces 864B

    B. Polycarp and Letters time limit per test 2 seconds memory limit per test 256 megabytes input stan ...