写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. Hbase Java API包括协处理器统计行数

    package com.zy; import java.io.IOException; import org.apache.commons.lang.time.StopWatch; import or ...

  2. zjnu1762 U (线段树)

    Description Mirko is hungry as a bear, scratch that, programmer and has stumbled upon a local restau ...

  3. Codeforces Round #649 (Div. 2) C、Ehab and Prefix MEXs D、Ehab's Last Corollary 找环和点染色

    题目链接:C.Ehab and Prefix MEXs 题意; 有长度为n的数组a(下标从1开始),要求构造一个相同长度的数组b,使得b1,b2,....bi集合中没有出现过的最小的数是ai. mex ...

  4. 二、Jmeter 后置处理器(BeanShell PostProcessor)

    1.新建JDBC Request,如下图所示: 重要的参数说明: Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable N ...

  5. Python:装饰器是如何调用的

    应用举例:(1)装饰器 # 装饰器的调用: # 一旦用上装饰器会: # 第一步:调outer函数 # 第二步:被装饰的函数play_game会被当作参数fn给outer # 第三步:最后调用play_ ...

  6. ArcGIS处理栅格数据(一)

    一.建立影像金字塔 ArcToolbox--数据管理工具--栅格--栅格属性--构建金字塔(pyramid) 说明:该方式一次只能为一张影像数据建立影像金字塔. ArcToolbox--数据管理工具- ...

  7. P类问题,NP,NPC,HPHard,coNP,NPI问题 的简单认识

    参考<算法设计技巧与分析>--沙特 问题可以分为判定类问题和最优化问题,判定类问题可以转化为最优化问题,所以下面讨论的是判定类的问题. P类问题是可以在多项式时间  采用确定性算法给出解 ...

  8. python to exe

    使用pyinstaller 打包 文件结构如下 命令行cd 进入 project文件夹 ,然后 命令 pyinstaller -F main.py 即可打包文件为一个完整的exe.(不含DLL等)

  9. pthread_create函数

    函数简介 pthread_create是UNIX环境创建线程函数 头文件 #include<pthread.h> 函数声明 int pthread_create(pthread_t *re ...

  10. VuePress & Markdown Slot

    VuePress & Markdown Slot refs https://vuepress.vuejs.org/zh/guide/markdown-slot.html#为什么需要-markd ...