《STM32Cube高效开发教程(基础篇)》各章都有完整的项目示例,这些示例都在一个STM32F407开发板上验证测试过。读者可以从异步社区(https://www.epubit.com/)搜索本书后,下载全部示例源代码。我们还录制了示例在开发板上运行测试的视频,已全部发布到B站上,《STM32Cube高效开发教程(基础篇)》示例运行演示视频索引 - 哔哩哔哩
以下是本书各章示例的列表。
章节 | 示例项目 | 示例功能和知识点 |
第1章 概述 | 无 | |
第2章 STM32F407和开发板 | 无 | |
第3章 STM32CubeMX的使用 | Demo3_1LED | ● STM32CubeMX的基本使用 ● STM32F407ZG的最小系统配置 ● 连接LED的GPIO引脚配置 |
第4章 STM32CubeIDE的使用 | Demo3_1LED | ● 分析CubeIDE项目的文件组成 ● CubeIDE项目管理、构建和调试完整流程 |
Demo4_2EmbedMX | ● 使用CubeIDE内置的STM32CubeMX创建项目 | |
第5章 STM32Cube | Demo5_1ADC | ● 使用STM32CubeMonitor进行ADC输入电压监测 |
Demo5_2TriangWave | ● 使用STM32CubeMonitor监测DAC输出的三角波 | |
第6章 GPIO输入输出 | Demo6_1KeyLED | ● 按键、LED、蜂鸣器连接的GPIO引脚的配置 ● 按键、LED、蜂鸣器驱动程序的编写和使用 ● 按键抖动的原因和软件消抖方法 |
第7章 中断系统和外部中断 | Demo7_1EXTI | ● 外部中断方式检测按键输入控制LED ● HAL中断处理程序的基本流程,中断回调函数的概念 ● 按键抖动对中断方式检测按键输入的影响及解决方法 |
第8章 FSMC连接 | Demo8_1TFTLCD | ● FSMC连接TFT LCD的原理和配置 ● TFT LCD驱动程序的基本原理和使用 ● 将TFT LCD的标准库驱动程序改写为HAL库驱动程序的方法 |
第9章 基础定时器 | Demo9_1TIM_LED | ● 定时器周期设置和中断处理 ● 单次触发定时器 |
第10章 通用定时器 | Demo10_1PWM_Out | ● 使用定时器输出PWM波 ● PWM波可调占空比 |
Demo10_2OutComp | ● 定时器的输出比较功能 | |
Demo10_3PWM_In | ● 测量输入PWM波的周期和脉宽 | |
第11章 实时时钟 | Demo11_1RTC_Alarm | ● RTC周期唤醒功能的使用 ● 闹钟的设置和中断处理 |
Demo11_2RTC_BKUP | ● 使用备份寄存器保存参数 | |
Demo11_3RTC_Tamper | ● RTC入侵检测功能的使用 |
第12章 USART/ | Demo12_1CH340 | ● 通过串口与PC端的串口监视软件通信 ● 串口通信协议的设计与使用 |
Demo12_2VaryLen | ● 对可变长度串口通信协议的处理 | |
第13章 DMA | Demo13_1USART_DMA | ● 串口使用DMA方式进行数据发送和接收 |
第14章 ADC | Demo14_1ADC_Poll | ● 软件方式启动ADC转换 ● 轮询方式查询ADC转换结果 |
Demo14_2TimTrigger | ● 定时器周期性触发进行ADC转换 | |
Demo14_3Scan_DMA | ● 多通道扫描方式ADC转换 ● DMA方式数据传输 | |
Demo14_4DualADCSimu | ● 双重ADC同步转换 ● DMA方式数据传输 | |
第15章 DAC | Demo15_1SoftTrig | ● 软件触发DAC转换 |
Demo15_2TriangWave | ● DAC输出三角波 | |
Demo15_3SawtoothDMA | ● 输出自定义锯齿波 ● 使用DMA方式输出数据 | |
第16章 SPI通信 | Demo16_1FlashSPI | ● 读写SPI接口Flash芯片W25Q128 ● 编写W25Q128的驱动程序 |
Demo16_2FlashSPI_ DMA | ● 以DMA方式读写W25Q128 | |
第17章 I2C通信 | Demo17_1EEPROM | ● 读写I2C接口的EEPROM芯片24C02 ● 编写24C02的驱动程序 |
第18章 CAN总线通信 | Demo18_1Poll | ● 轮询方式CAN接口自发自收 |
Demo18_2Interrupt | ● 中断方式CAN接口自发自收 | |
第19章 FSMC连接外部SRAM | Demo19_1SRAM | ● 通过FSMC访问外部SRAM存储器 ● 使用1024KB的外部SRAM芯片IS62WV51216 ● 通过HAL驱动函数或指针访问外部SRAM |
Demo19_2SRAM_DMA | ● 通过DMA方式读写外部SRAM ● 使用MemToMem类型的DMA | |
第20章 独立看门狗 | Demo20_1IWDG | ● 独立看门狗的使用 |
第21章 窗口看门狗 | Demo21_1WWDG | ● 窗口看门狗的使用 |
第22章 电源管理和 | Demo22_1Sleep | ● 睡眠模式的使用 ● 通过KeyRight的外部中断将系统从睡眠状态唤醒 ● SysTick定时器的暂停和恢复 |
Demo22_2Stop | ● 停止模式的使用 ● 通过RTC周期唤醒中断将系统从停止状态唤醒 | |
Demo22_3StandBy | ● 待机模式的使用 ● 通过WKUP引脚将系统从待机状态唤醒 |