Skip to content

单片机入门学习规划

目标和动机

目标

从0搭建单片机技术栈,建立起一个技术框架,,然后先找个工作,在工作中学习,慢慢填充框架。

  1. 掌握C语言
  2. 掌握STM32外设使用
  3. 了解常用调试工具
  4. 硬件相关常识

动机

入职单片机

学习内容和资源

学习内容

C语言

  • 变量和数据类型:包括整型、浮点型、字符型、指针等数据类型的定义和使用。需要深入了解数据类型的区别,如何选择合适的数据类型以及如何进行类型转换。
  • 运算符和表达式:包括算术运算符、关系运算符、逻辑运算符、位运算符等的使用,以及表达式的构建和求值。需要深入了解运算符的优先级和结合性,以及如何使用括号来改变运算顺序。
  • 控制语句:包括条件语句、循环语句、跳转语句等的使用,以及流程控制结构的构建和调试。需要深入了解流程控制语句的嵌套使用,以及如何使用break和continue语句来控制循环。
  • 函数和指针:包括函数的定义、调用、参数传递和返回值等,以及指针的定义、使用和指针运算等。需要深入了解函数指针的使用,如何使用指针来操作数组和字符串,以及如何使用指针来实现动态内存分配。
  • 数组和字符串:包括数组的定义、初始化、访问和操作等,以及字符串的定义、赋值、比较和操作等。需要深入了解多维数组的使用,如何使用指针来操作数组和字符串,以及如何使用标准库函数来操作字符串。
  • 结构体和联合体:包括结构体和联合体的定义、访问和操作等。需要深入了解结构体的嵌套使用,如何使用结构体来实现链表和树等数据结构,以及如何使用联合体来实现类型转换和位操作。
  • 文件操作:包括文件的打开、读写、关闭等操作,以及文件指针的移动和文件属性的查询等。需要深入了解文件的打开模式和文件指针的使用,如何使用标准库函数来读写文件,以及如何处理文件读写出错的情况。
  • 指针操作:指针是一个变量,它存储的是另一个变量的地址。通过指针,可以直接访问和修改另一个变量的值。需要深入了解指针的使用,如何使用指针来操作数组和字符串,以及如何使用指针来实现动态内存分配和函数回调。
  • 位操作:位操作可以对一个变量中的某一位进行读取、设置或清除等操作。需要深入了解位操作的基本知识,如位运算符、位掩码等,以及如何使用位操作来实现高效的数据存储和处理。

STM32外设

  • KEIL5开发工具的使用:需要深入了解KEIL5开发工具的安装、配置和使用,以及如何使用KEIL5来编写、编译和调试STM32的程序。
  • 中断机制:STM32的中断机制是其核心功能之一,它可以让处理器在执行任务的同时,响应外部事件的发生。学习如何使用中断可以帮助您更好地处理外部事件,提高系统的实时性和稳定性。
  • 精准延时:学习如何使用定时器和中断机制可以帮助您实现精准延时。通过设置定时器的计数值和中断触发时间,可以实现微秒级别的延时。
  • GPIO:通用输入输出口是STM32最基本的外设之一,它可以通过软件控制来实现输入和输出。STM32的GPIO口数量较多,可以满足不同应用场景的需求。需要深入了解GPIO的配置和使用,如何使用GPIO来控制LED灯、蜂鸣器、按键等外设。
  • ADC:模拟数字转换器是将模拟信号转换为数字信号的重要外设,STM32的ADC可以实现高精度的模拟信号采集,支持多通道采集和DMA传输,可以应用于温度、湿度、光照等模拟量的测量。需要深入了解ADC的配置和使用,如何使用ADC来进行模拟信号采集和转换。
  • Timer:定时器是STM32中常用的外设之一,它可以实现定时、计数、PWM输出等功能。STM32的定时器包括基本定时器、通用定时器和高级定时器,可以满足不同应用场景的需求。需要深入了解定时器的配置和使用,如何使用定时器来实现定时、计数、PWM输出等功能。
  • PWM输出:学习如何使用定时器和PWM模块可以帮助您实现PWM输出。通过设置定时器的周期和占空比,可以实现精准的PWM输出。
  • USART:串行通信接口是STM32中常用的外设之一,它支持异步串口、同步串口、LIN、IrDA等通信协议,可以实现与其他设备的串行通信。需要深入了解USART的配置和使用,如何使用USART来进行串行通信。
  • SPI:串行外设接口是STM32中常用的外设之一,它支持全双工、半双工、主从模式等通信方式,可以实现与其他设备的串行通信。需要深入了解SPI的配置和使用,如何使用SPI来进行串行通信。
  • I2C:双线串行接口是STM32中常用的外设之一,它支持多主机、多从机、快速模式、标准模式等通信方式,可以实现与其他设备的串行通信。需要深入了解I2C的配置和使用,如何使用I2C来进行串行通信。
  • DMA:直接内存访问是STM32中的重要外设之一,它可以实现外设和内存之间的数据传输,可以提高系统的效率和性能。需要深入了解DMA的配置和使用,如何使用DMA来实现外设和内存之间的数据传输。

常用调试工具

  • 万用表
  • 示波器
  • 逻辑分析仪
  • 焊台

硬件相关

会看芯片手册和规格书

资源

C语言

学习C语言,在B站上找个C语言教程视频,跟着学。例如华清远见的C基础视频

STM32

购买开发板

我推荐正点原子的探索者STM32F407ZGT6开发板,然后再搭配一个STLINK下载器就行了,其他配件学到时,再买。

配套视频

stm32基础开发视频

学习计划和时间安排

第一阶段 C语言 一个月

第二阶段 STM32外设驱动 1-2个月

练习和项目

C语言 视频讲的代码,跟着写几遍

STM32 跟着视频多做几遍实验,然后再课后都复习,多做几遍实验

测量和评估

按照学习内容中列举的知识点,检验自己是否掌握,能否写出相应代码,能否讲出原理。

推荐

学习C语言时,写代码只使用记事本等无代码补全、代码高亮的编辑器。

推荐使用Emeditor编辑器,默认是带高亮的,但是可以手动关闭。

编译器可以使用vc6.0,也可以使用视频配套的编译器。

Emeditor关闭高亮

1.创建一个c++文件,可以看到是有关键词高亮的

image-20230603100948350

2.点击工具-》所有配置的属性-》高亮(1)-》关闭启用高亮

image-20230603101238507

可以看到关键词高亮没有了。

image-20230603101322606

上次更新于: