(限选)嵌入式系统
本课程是将《自动控制实践 B》中嵌入式(STM32)部分独立出来,从 22 级开始开设。部分考试资料可以去 自动控制实践 B 的页面下载。
教材与参考书
- 教材:课程 ppt、实验指导书。
- 参考资料:
- 南工骁鹰嵌入式软件培训,某学长锐评:真想学 STM32 还是它的含金量高。包含了许多本课程中未包含的内容(CAN 等)。
授课教师
- 黄瑞宁
- 这位老师参与过 18、19 级学生的《自动控制实践 B》教学,彼时他就负责其中嵌入式部分的讲授。后来由于不明原因不再讲授该课程,现在复出。
- 授课风格:
- 听课建议:
学时安排
理论课共 20 学时,内容详见osa 网盘中的 ppt。
主要分为:嵌入式系统概述;Cubemx 配置与 Keil 编程环境;GPIO;中断【中断及复位启动,中断优先级及配置(嵌套中断向量控制机制)、中断服务函数、外部中断/事件控制器】;串口与 DMA;AD/DA;定时器【systick 定时器、基本定时器、通用定时器;定时器的特殊模式:输入捕获、输出比较等功能】;高级定时器【编码器接口、霍尔传感器接口……】。
实验课共 12 学时:
共设置基础实验 12 个(共 8 学时,每 2 个学时完成 3 个实验),具体内容见“资料下载”中的实验指导书。在基础实验里,记得把 SYS 中的 Debug 设置成 JTAG(4pins),指导书里没提这一点。
- 单个 LED 闪烁实验(GPIO)
- LED 流水灯实验(GPIO)
- 按键控制 LED 实验(GPIO)
- 外部中断实验(EXTI)
- 定时器定时应用实验(TIM)
- DAC 基本实验
- TFT 屏基本实验
- 串行通讯基本实验(UART)
- DMA 直接内存访问实验
- DMA-UART 收发实验
- ADC 采集实验
- AD 转换及定时器 PWM 输出实验
基础实验完成后是电机控制调速实验(共 4 学时,相比于原先的 8 学时有了大幅度的压缩,所以请提前写好代码。之前基础实验中部分代码可以复用)。具体内容可以参考“资料下载”中的实验指导书。
学习建议
实验课的内容是 STM32 开发,实验涵盖了:GPIO、外部中断、串口通信、DMA 等功能的上手。开发板的 MCU 型号是 STM32F407ZGT6,软件是 MDK v5 + CubeMX。
实验软件所使用的 CubeMX 是 STM32Cube —— 目前 STM32 最主流的开发方式的重要一环。而 2019 年推出的 STM32CubeIDE,则是这个生态系统的集大成者。
与 MDK 不同的是,STM32CubeIDE 还提供对 MacOS 或者 Linux 操作系统的支持。我非常推荐大家使用 STM32CubeIDE 这个 All in one 的软件(包含了 CubeMX,可以不用单独下载)进行使用。
以下是一些有用的链接:
- STM32StepByStep:Step2 Blink LED:通过点灯,快速熟悉 IDE 的开发流程。
- CH341 串口驱动:除了老师一般会发的 Windows 版本外,还含有 MacOS 和 Linux 的版本。
- printf 重定向: STM32 官方文档中的重定向方法。
文/Kowyo
资料下载
如果你是校内学生,可移步至 open.osa.moe 查看本门课程的电子书、课件和实验软件等。
参与
《HITSZ 自动化课程攻略共享计划》是所有同学都可以参与编写的,如果你有好的笔记或者资料,欢迎前往我们的 GitHub 进行参与,也可以发邮件至 📮[email protected] 联系我们,我们会在收到的第一时间进行答复。