hi,小慕
课程

中国大学MOOC,为你提供一流的大学教育

hi,小mooc
基于STM32CubeMX和HAL驱动库的嵌入式系统设计
第10次开课
开课时间: 2025年02月17日 ~ 2025年07月13日
学时安排: 3-5小时每周
进行至第7周,共21周 已有 1359 人参加
认证学习
认证成绩和证书
智能问答和解析
视频学习辅助
立即参加
课程详情
课程评价(503)
spContent=嵌入式系统是电子信息产业的基础,广泛应用于工业控制等领域。本课程选用ST公司的STM32F4微控制器为载体,采用STM32CubeMX开发工具及HAL驱动库,以嵌入式硬件设计和软件设计为主线,按照“最小系统电路设计 → 开发工具使用 → 片内外设应用” 的路径,分层次、递进式的讲授嵌入式系统的设计方法。
嵌入式系统是电子信息产业的基础,广泛应用于工业控制等领域。本课程选用ST公司的STM32F4微控制器为载体,采用STM32CubeMX开发工具及HAL驱动库,以嵌入式硬件设计和软件设计为主线,按照“最小系统电路设计 → 开发工具使用 → 片内外设应用” 的路径,分层次、递进式的讲授嵌入式系统的设计方法。
—— 课程团队
课程概述

嵌入式系统是电子信息产业的基础,是智能系统的核心,广泛应用于工业控制、汽车电子、智能家居、医疗器械和智能穿戴设备等众多领域。伴随物联网和人工智能的快速发展,嵌入式系统在智能系统中发挥着越来越大的作用。

《嵌入式系统设计》是电子信息类专业的学科基础课程。本课程选用意法半导体公司的STM32F4微控制器为载体,以嵌入式硬件设计和软件设计为主线,结合工程实践,按照最小系统电路设计 → 开发工具使用 → 片内外设应用 ”的路径,分层次、递进式的讲授嵌入式系统的设计方法。

本课程使用了意法半导体公司STM32CubeMX开发工具以及HAL驱动库完成微控制器的设计。STM32CubeMX软件提供简洁的图形化界面,设计者无需编写任何代码,就可以完成引脚分配、时钟设置和外设设置等初始化工作,并生成基于MDK-ARM等集成开发环境的工程框架,使设计者可以更专注于应用层代码的编写。采用库函数的编程方式可以不必了解硬件寄存器的含义,利用库函数提供的接口函数快速实现功能。基于图形化的配置方式和库函数的编程方式使得初学者可以快速入门嵌入式系统的设计和开发,降低了学习的门槛。

本课程与工程实践紧密结合,课程中融入了电路设计软件的使用、硬件抽象层设计、状态机设计和通信协议设计等实用的工程技能,注重培养学生解决复杂工程问题的能力。

本课程的硬件平台选用意法半导体公司的官方开发板Nucleo-F411RE。该开发板采用USB接口供电,集成ST-Link仿真器,板载基本的指示灯和按键,并设计了Arduino UNO的接口,方便用户接入Arduino生态圈的扩展板。NucleoF411RE开发板价格便宜,不足百元,可以很方便地在淘宝等购物平台购买。

本课程分为10个教学单元,一共48个学时,每周发布4个学时,计划12周完成学习,

各教学单元的内容及学时分配如下:

1、嵌入式系统概要                                    4学时

2STM32F4微控制器电路设计               4学时

3STM32微控制器开发环境的搭建          2学时

4STM32CubeMX软件的使用                   2学时

5MDK-ARM开发软件的使用                    4学时

6、通用输入/输出接口                                 8学时

7、外部中断                                                   4学时

8、定时器                                                      8学时

9、串口通信                                                  8学时

10、FreeRTOS          4学时

显示全部
授课目标

    通过课程的学习,要求学生掌握嵌入式系统的基础知识;熟练掌握 Cortex-M4 内核微控制器的内部结构及片内外设的应用。掌握嵌入式系统的设计及软硬件调试方法。能够设计、调试简单的嵌入式系统,使学生初步具备实际工作的能力。

课程大纲

第一章 嵌入式系统概要

第0讲 本章导学

第一讲 嵌入式系统的概念和特点

第二讲 嵌入式系统硬件

第三讲 嵌入式系统软件

第四讲 嵌入式系统编程方式

第五讲 微控制器程序开发方式

本章课件

第一章单元测验

第二章 STM32微控制器的硬件电路设计

第0讲 本章导学

第一讲 STM32微控制器概述

第二讲 STM32 Nucleo开发板简介

第三讲 Nucleo开发板最小系统设计

第四讲 Nucleo开发板外围电路设计

第五讲 Nucleo开发板仿真器电路设计

第六讲 STM32应用电路设计

本章课件

STM32微控制器最小系统及外围电路设计参考

第二章单元测试

第三章 STM32微控制器开发环境的搭建

第0讲 本章导学

第一讲 STM32Cube生态系统介绍

第二讲 STM32CubeMX的下载及安装

第三讲 MDK-ARM软件的下载及安装

第四讲 ST-Link仿真器驱动程序的安装

本章课件

第三章单元测试

第四章 STM32CubeMX软件的使用

第0讲 本章导学

第一讲 HAL库的基本特点

第二讲 STM32CubeMX软件使用步骤

第三讲 在MDK软件中编写应用程序

第四讲 STM32CubeMX使用演示

本章课件

第四章单元测试

第五章 MDK-ARM软件的使用

第0讲 本章导学

第一讲 MDK-ARM软件的使用流程

第二讲 MDK-ARM软件的实用功能

第三讲 RTE环境和CubeMX联合使用

本章课件

第五章单元测试

第六章 通用输入输出接口(一)

第0讲 本章导学

第一讲 GPIO功能概述

第二讲 GPIO模块的电路结构

第三讲 GPIO模块的寄存器介绍

第四讲 基于寄存器方式控制GPIO

本章课件

第六章 单元测试一

第六章 通用输入输出接口(二)

第0讲 本章导学

第一讲 基于HAL库方式控制GPIO

第二讲 任务实践

第三讲 硬件抽象层设计

本章课件

第六章 单元测试二

第七章 中断系统

第0讲 本章导学

第一讲 中断概述

第二讲 HAL库的中断处理流程

第三讲 外部中断的数据类型及接口函数

第四讲 任务实践

本章课件

第七章单元测试

第七章作业

第八章 定时器 (一)

第0讲 本章导学

第一讲 定时器概述

第二讲 HAL库外设模块设计方法

第三讲 定时器的定时/计数功能

第八章单元测试一

第八章作业一

第八章 定时器 (二)

第四讲 定时器的PWM输出功能

第五讲 定时器的输入捕获功能

本章课件

第八章单元测验二

第八章作业二

第九章 串口通信

第0讲 本章导学

第一讲 串口通信概述

第二讲 HAL库外设初始化设计思想

第三讲 轮询方式的串口通信

第四讲 中断方式的串口通信

第五讲 DMA方式的串口通信

本章课件

第九章作业

第九章单元测验

各章作业答案

各章作业答案

期末考试答案

期末考试答案

展开全部
预备知识

本课程的学习需要C语言程序设计和电子线路设计等预备课程的知识。

参考资料

[1] 漆强.嵌入式系统设计—基于STM32CubeMX与HAL库. 北京: 高等教育出版社,2022.

[2] (英)Joseph Yiu著.宋岩译. ARM Cortex-M3权威指南. 北京: 北京航空航天大学出版社,2009.

[3] 高显生. STM32F0实战—基于HAL库开发[M]. 北京: 机械工业出版社, 2019.

[4]王维波,鄢志丹,王钊. STM32Cube高效开发教程. 北京: 人民邮电出版社, 2021.

常见问题

[1]   课程配套教材,《嵌入式系统设计—基于STM32CubeMX与HAL库》,高等教育出版社,漆强编著,可在京东、淘宝等平台购买。

[2]   硬件平台:Nucleo-F411RE开发板,可在意法半导体的官方淘宝店购买

[3]   STM32CubeMX软件下载地址:https://www.st.com/stm32cubemx

[4]   MDK-ARM软件下载地址:https://www.keil.com/download/product/

[5]   问题及反馈:课程讨论区

电子科技大学
1 位授课老师
漆强

漆强

副教授

推荐课程

嵌入式STM32期末冲刺-3小时突击嵌入式STM32

EAR老师

208人参加

SolidWorks三维建模技术-从入门到精通【上新早鸟价】

机械攻城狮-fighting

55人参加

数据结构与算法期末冲刺-5小时突击数据结构与算法

小谢老师01

25539人参加

编译原理期末冲刺-6小时突击编译原理

软件攻城狮

3500人参加
下载
下载

下载App