注册 登录 进入教材巡展
#

出版时间:2023-05

出版社:西安电子科技大学出版社

以下为《嵌入式系统设计实验——基于STM32CubeMX与HAL库》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 西安电子科技大学出版社
  • 9787560668475
  • 1-1
  • 461562
  • 16开
  • 2023-05
  • 无线电电子学、电信技术
  • 本科
内容简介
本书是与《嵌入式系统设计——基于STM32CubeMX与HAL库》配套的实验指导书。
本书包括九个实验。其中,前六个实验是基础实验,包括STM32微控制器开发环境的搭建、通用输入/输出口(GPIO)的应用、外部中断、定时器、串口通信、FreeRTOS ,涵盖教材上绝大部分实验内容,并做了大量拓展。实验七~九是综合实验。实验七介绍了ADC的相关知识,设计了相关实验;实验八是综合设计1,采用FFT设计了基于ADC和CMSIS-DSP库的数字频率计;实验九是综合设计2,综合前面的实验内容,设计了一个点光源自动追踪系统(参考2010年全国大学生电子设计竞赛题)。本书在内容设计上循序渐进,逐步深入,配合详细的讲解视频,尽量降低嵌入式系统设计的学习门槛。
本书可作为高等院校电子信息类专业学生学习单片机、嵌入式系统、电子系统设计等实验课程的入门教材,也可以供全国大学生电子设计竞赛参与者、嵌入式系统爱好者、从事嵌入式应用的工程技术人员参考。
目录
基 础 实 验

实验一 STM32微控制器开发环境的搭建 2
一、实验目的 2
二、实验内容 2
三、实验所需器材和软件 2
四、具体实验 2
EX1_1 编辑操作系统环境变量 2
EX1_2 安装MDK-KEIL及F4支持包 3
EX1_3 安装STM32CubeMX、STM32F4固件包、st-link 4
EX1_4 学习F4固件包中基于HAL库的GPIO_IOToggle例程 5
EX1_5 学习F4固件包中基于LL库的LED闪烁例程 8
EX1_6 使用STMCubeMX生成MDK-KEIL工程 9
五、实验总结 10
六、实验作业 10
实验二 通用输入/输出口(GPIO)的应用 12
一、实验目的 12
二、实验内容 12
三、具体实验 12
EX2_1 使用ODR寄存器实现LED灯的闪烁并单步执行 12
EX2_2 使用BSRR寄存器实现LED灯的闪烁 15
EX2_3 使用HAL_GPIO_WritePin()实现LED灯的闪烁 17
EX2_4 使用按键控制LED指示灯的亮灭 21
EX2_5 使用4个按键控制4个LED的亮灭 23
EX2_6 使用BSP方式驱动LED闪烁 26
EX2_7 使用BSP方式驱动蜂鸣器、按键和LED指示灯 29
EX2_8 使用BSP方式在OLED上显示字符串常量 33
EX2_9 使用BSP方式在OLED上显示浮点型变量 37
EX2_10 使用BSP方式在OLED上显示温度传感器值 38
EX2_11 使用GPIO直接驱动四位数码管 41
EX2_12 设计数码管的BSP驱动程序并调用 44
EX2_13 使用BSP方式驱动数码管实现24秒倒计时 49
EX2_14 学习F4固件包中的EEPROM例程 50
EX2_15 使用EEPROM记录开机次数并在数码管上显示 51
四、实验总结 53
五、实验作业 53
实验三 外部中断 55
一、实验目的 55
二、实验内容 55
三、具体实验 55
EX3_1 使用外部中断控制LED的亮灭 55
EX3_2 使用外部中断控制LED的闪烁速度 57
EX3_3 使用外部按键中断主函数while()循环 59
EX3_4 使用多个外部中断控制多个LED的亮灭 61
EX3_5 多个中断嵌套实验 63
四、实验总结 66
五、实验作业 66
实验四 定时器 67
一、实验目的 67
二、实验内容 67
三、具体实验 67
EX4_1 使用定时器中断实现LD2闪烁(频率为2 Hz) 67
EX4_2 学习F4固件包中的串口通信例程 71
EX4_3 使用STM32CubeMX新建工程实现串口通信 73
EX4_4 定时器实现外部脉冲计数并通过串口输出 76
EX4_5 定时器外部脉冲计数并在OLED上显示 79
EX4_6 单片机输出PWM信号 83
EX4_7 控制PWM占空比实现呼吸灯效果 85
EX4_8 使用定时器捕获功能实现脉冲信号频率测量 87
EX4_9 使用定时器输入捕获法设计频率计 94
EX4_10 使用定时器外部脉冲计数法设计频率计 95
四、实验总结 99
五、实验作业 99
实验五 串口通信 101
一、实验目的 101
二、实验内容 101
三、具体实验 101
EX5_1 使用串口实现固定长度的数据的收发 101
EX5_2 使用printf实现串口重定向 104
EX5_3 使用中断方式和通信协议实现串口的收发 107
EX5_4 使用OLED显示串口收到的数据 111
EX5_5 使用DMA方式实现不定长数据的接收 113
四、实验总结 113
五、实验作业 114
实验六 FreeRTOS 115
一、实验目的 115
二、实验内容 115
三、具体实验 115
EX6_1 实现串口通信和LD2闪烁 115
EX6_2 二值信号量 120
EX6_3 计数信号量 123
EX6_4 事件标志组 126
EX6_5 线程标志 130
EX6_6 使用FreeRTOS互斥量实现多任务调用同一个串口 133
四、实验总结 135
五、实验作业 136




综 合 实 验

实验七 ADC 138
一、实验目的 138
二、实验内容 138
三、实验相关知识 138
四、具体实验 148
EX7_1 使用ADC实现电位器电压单次采集 148
EX7_2 ADC、串口、OLED综合应用 153
EX7_3 以1 kHz采样率采集方波信号并通过串口输出 156
EX7_4 使用DMA和定时器触发A/D转换实现100 kHz采样率 160
EX7_5 使用DMA方式实现2.4 MHz最高采样率 165
EX7_6 使用轮询方式实现双通道准同步采样 169
五、实验总结 171
六、实验作业 172
实验八 综合设计1——基于ADC和CMSIS-DSP库的数字频率计 173
一、实验目的 173
二、实验内容 173
三、实验相关知识 173
四、具体实验 178
EX8_1 学习STM32F4固件包中的arm_fft_bin_example例程 178
EX8_2 使用CMSIS-DSP库FFT计算信号频率 181
五、实验总结 185
六、实验作业 185
实验九 综合设计2——点光源追踪系统 186
一、实验目的 186
二、实验内容 186
三、实验相关知识 186
四、具体实验 192
EX9_1 点光源追踪系统光电传感与检测板电路设计与生产 192
EX9_2 点光源追踪程序1——PWM输出和舵机驱动 195
EX9_3 点光源追踪系统焊接调试 198
EX9_4 点光源追踪程序2——手动追踪程序设计 199
EX9_5 点光源追踪程序3——基于双通道电压差的自动追踪 200
EX9_6 点光源追踪程序4——基于PID算法的自动追踪 205
EX9_7 点光源追踪程序5——系统优化和扩展实验 208
五、实验总结 208
六、实验作业 209
附录 2010年TI杯陕西省大学生电子设计竞赛试题 210
参考文献 212