logo资料库

RoboMaster开发板C型嵌入式软件教程文档.pdf

第1页 / 共296页
第2页 / 共296页
第3页 / 共296页
第4页 / 共296页
第5页 / 共296页
第6页 / 共296页
第7页 / 共296页
第8页 / 共296页
资料共296页,剩余部分请下载后查看
RoboMaster 开发板 C 型嵌入式软件 教程文档 v1.0 2020.01
前置参考阅读 1. 《RoboMaster 开发板 C 型用户手册》 2. C 语言相关书籍 3. 《ARM Cortex-M3 与 Cortex-M4 权威指南》 4. STM32F407IG 相关数据手册 5. freeRTOS 官网相关文档 建议用户首先阅读《RoboMaster 开发板 C 型用户手册》,了解 RoboMaster 开发板 C 型(以下简称开发 板 C 型)相关功能以及使用方法,正确使用开发板 C 型的相关接口,避免错误的使用方法造成开发板 C 型的损坏;开发板 C 型的例程所使用的编程语言为 C 语言,建议用户学习 C 语言的基本语法,本文档没 有针对 C 语言进行系统的讲解;《ARM Cortex-M3 与 Cortex-M4 权威指南》、STM32F407IG 相关数据 手册和 freeRTOS 官网相关文档作为参考资料,在必要时候可以进行查阅。 修改日志 日期 版本 修改记录 2020.01.09 V1.0 首次发布。
目录 前置参考阅读 .................................................................................................................... 2 修改日志 ........................................................................................................................... 2 0. 开发板 C 型,cubeMX 与 keil 入门 .............................................................................. 12 0.1 知识要点 .................................................................................................................. 12 0.2 课程内容 .................................................................................................................. 12 0.3 基础学习 .................................................................................................................. 12 0.4 程序学习 .................................................................................................................. 14 0.4.1 软件环境 ........................................................................................................ 14 0.4.2 cubeMX 新建工程 .......................................................................................... 15 0.4.3 keil 软件简易入门 ........................................................................................... 18 0.4.4 Keil 的调试模式 .............................................................................................. 22 0.5 RoboMaster 机器人功能简介 ................................................................................... 24 0.6 课程总结 .................................................................................................................. 24 1. 点亮 LED ................................................................................................................. 25 1.1 1.2 1.3 知识要点 .......................................................................................................... 25 课程内容 .......................................................................................................... 25 基础学习 .......................................................................................................... 25 1.3.1 LED 灯基本知识 ............................................................................................. 25 1.4 程序学习 .......................................................................................................... 26 1.4.1 cubeMX 中配置 GPIO 基本操作 ............................................................... 26 1.4.2 HAL_GPIO_WritePin 函数讲解 ................................................................ 27 1.4.3 程序流程 ................................................................................................... 28 1.4.4 效果展示 ................................................................................................... 29 1.5 进阶学习 .......................................................................................................... 30 1.5.1 三极管的通断特性 ..................................................................................... 30 1.5.2 LED 的下拉电阻........................................................................................ 30 1.5.3 硬件原理图上的限流电阻 .......................................................................... 32 1.6 课程总结 .......................................................................................................... 32 2. 闪烁 LED ................................................................................................................. 34 2.1 2.2 2.3 知识要点 .......................................................................................................... 34 课程内容 .......................................................................................................... 34 基础学习 .......................................................................................................... 34 2.3.1 GPIO 的翻转速度 ........................................................................................... 34 © 2020 大疆创新 版权所有 3
2.4 程序学习 .......................................................................................................... 36 2.4.1 计数延时介绍 ............................................................................................ 36 2.4.2 nop 延时介绍 ............................................................................................ 37 2.4.3 滴答计时器介绍以及 HAL_Init 初始化 ...................................................... 38 2.4.4 HAL_Delay 介绍 ....................................................................................... 40 2.4.5 HAL_GPIO_TogglePin 介绍 ..................................................................... 41 2.4.6 程序流程 ................................................................................................... 42 2.4.7 效果展示 ................................................................................................... 43 2.5 课程总结 .......................................................................................................... 44 3. 定时器闪烁 LED ...................................................................................................... 45 3.1 3.2 3.3 知识要点 .......................................................................................................... 45 课程内容 .......................................................................................................... 45 基础学习 .......................................................................................................... 45 3.3.1 定时器讲解................................................................................................ 45 3.3.2 中断讲解 ................................................................................................... 46 3.4 程序学习 .......................................................................................................... 47 3.4.1 定时器在 cubeMX 中配置 ......................................................................... 47 3.4.2 中断优先级讲解 ........................................................................................ 50 3.4.3 cubeMX 中的中断配置以及中断函数管理 ................................................ 51 3.4.4 定时器回调函数介绍 ................................................................................. 53 3.4.5 HAL_TIM_Base_Start 函数 ...................................................................... 54 3.4.6 程序流程 ................................................................................................... 55 3.4.7 效果展示 ................................................................................................... 56 3.5 进阶学习 .......................................................................................................... 56 3.5.1 APB 总线计算定时器定时时间 ....................................................................... 56 3.6 课程总结 .......................................................................................................... 59 4. PWM 控制 LED 的亮度 ........................................................................................... 60 4.1 4.2 4.3 知识要点 .......................................................................................................... 60 课程内容 .......................................................................................................... 60 基础学习 .......................................................................................................... 60 4.3.1 PWM 基本知识 ......................................................................................... 60 4.3.2 aRGB 三原色 ............................................................................................ 61 4.4 程序学习 .......................................................................................................... 61 4.4.1 PWM 在 cubeMX 中配置 .......................................................................... 61 4 © 2020 大疆创新 版权所有
4.4.2 PWM 配置介绍 ......................................................................................... 63 4.4.3 HAL_TIM_PWM_Start 函数介绍 .............................................................. 64 4.4.4 程序流程 ................................................................................................... 66 4.4.5 效果展示 ................................................................................................... 67 4.5 课程总结 .......................................................................................................... 67 5. 常见的 PWM 设备 ................................................................................................... 68 5.1 5.2 5.3 知识要点 .......................................................................................................... 68 课程内容 .......................................................................................................... 68 基础学习 .......................................................................................................... 68 5.3.1 蜂鸣器 ....................................................................................................... 68 5.3.2 舵机的控制................................................................................................ 69 5.4 程序学习 .......................................................................................................... 71 5.4.1 蜂鸣器的 PWM 在 cubeMX 中配置 ........................................................... 71 5.4.2 蜂鸣器的程序流程 ..................................................................................... 73 5.4.3 效果展示 ................................................................................................... 76 5.4.4 舵机的 PWM 在 cubeMX 中配置 .............................................................. 76 5.4.5 舵机主程序讲解 ........................................................................................ 79 5.4.6 舵机效果演示 ............................................................................................ 80 5.5 5.6 课程总结 .......................................................................................................... 81 上一节作业讲解................................................................................................ 82 程序流程 .................................................................................................................. 82 6. 按键的外部中断 ....................................................................................................... 85 6.1 6.2 6.3 知识要点 .......................................................................................................... 85 课程内容 .......................................................................................................... 85 基础学习 .......................................................................................................... 85 6.3.1 按键原理图介绍 ........................................................................................ 85 6.3.2 按键软件消抖 ............................................................................................ 86 6.3.3 外部中断 ................................................................................................... 87 6.4 程序学习 .......................................................................................................... 87 6.4.1 外部中断在 cubeMX 中的配置 .................................................................. 87 6.4.2 HAL_GPIO_ReadPin 函数介绍 ................................................................ 89 6.4.3 中断回调函数介绍 ..................................................................................... 89 6.4.4 程序中的前后台 ........................................................................................ 90 6.4.5 程序流程 ................................................................................................... 90 © 2020 大疆创新 版权所有 5
6.4.6 效果展示 ................................................................................................... 91 6.5 课程总结 .......................................................................................................... 92 7. ADC 采样电池电压 .................................................................................................. 93 7.1 7.2 7.3 知识要点 .......................................................................................................... 93 课程内容 .......................................................................................................... 93 基础学习 .......................................................................................................... 93 7.3.1 ADC 原理介绍 ........................................................................................... 93 7.3.2 电阻分压电路介绍 ..................................................................................... 95 7.4 程序学习 .......................................................................................................... 96 7.4.1 ADC 在 cubeMX 中的配置 ........................................................................ 96 7.4.2 内部 VREFINT 电压的使用 ....................................................................... 98 7.4.3 ADC 采样相关函数介绍 ............................................................................ 99 7.4.4 程序流程 ................................................................................................. 101 7.4.5 效果展示 ................................................................................................. 103 7.5 7.6 进阶学习 ........................................................................................................ 104 课程总结 ........................................................................................................ 106 8. 串口收发 ................................................................................................................ 107 8.1 8.2 8.3 知识要点 ........................................................................................................ 107 课程内容 ........................................................................................................ 107 基础学习 ........................................................................................................ 107 8.3.1 串口接收中断与空闲中断 ........................................................................ 107 8.4 程序学习 ........................................................................................................ 108 8.4.1 串口在 cubeMX 中配置 ........................................................................... 108 8.4.2 串口接收中断与空闲中断 ........................................................................ 110 8.4.3 串口发送函数与中断函数 ........................................................................ 110 8.4.4 程序流程 ................................................................................................. 111 8.4.5 效果展示 ................................................................................................. 112 8.5 进阶学习 ........................................................................................................ 114 8.5.1 APB 时钟计算串口波特率 ....................................................................... 114 8.6 课程总结 ........................................................................................................ 114 9. 串口打印遥控器数据 ............................................................................................. 116 9.1 9.2 9.3 知识要点 ........................................................................................................ 116 课程内容 ........................................................................................................ 116 基础学习 ........................................................................................................ 116 6 © 2020 大疆创新 版权所有
9.3.1 DMA 功能介绍 ........................................................................................ 116 9.3.2 DBUS 协议介绍 ...................................................................................... 116 9.4 程序学习 ........................................................................................................ 117 9.4.1 串口发送的 DMA 配置 ............................................................................ 117 9.4.2 printf 函数实现过程 ................................................................................. 120 9.4.3 串口的 DMA 接收与发送配置 ................................................................. 120 9.4.4 程序流程 ................................................................................................. 127 9.4.5 效果展示 ................................................................................................. 127 9.5 课程总结 ........................................................................................................ 129 10. Flash 读写 ............................................................................................................. 130 10.1 知识要点 ........................................................................................................ 130 10.2 课程内容 ........................................................................................................ 130 10.3 基础学习 ........................................................................................................ 130 10.3.1 stm32 的 flash 介绍 ................................................................................ 130 10.4 程序学习 ........................................................................................................ 131 10.4.1 flash 擦除函数介绍 ................................................................................. 131 10.4.2 flash 写入函数介绍 ................................................................................. 131 10.4.3 flash 读取介绍 ......................................................................................... 132 10.4.4 flash 相关操作函数 ................................................................................. 133 10.4.5 程序流程.............................................................................................. 134 10.4.6 效果展示.............................................................................................. 134 10.5 进阶学习 ........................................................................................................ 136 10.5.1 flash 页分区 ............................................................................................ 136 10.5.2 boot 作用 ................................................................................................ 137 10.6 课程总结 ........................................................................................................ 138 11. I2C 读取 IST8310 .................................................................................................. 139 11.1 知识要点 ........................................................................................................ 139 11.2 课程内容 ........................................................................................................ 139 11.3 基础学习 ........................................................................................................ 139 11.3.1 I2C 简介 .................................................................................................. 139 11.3.2 磁力计简介.............................................................................................. 140 11.4 软件学习 ........................................................................................................ 141 11.4.1 硬件接线 ................................................................................................. 141 11.4.2 I2C 在 cubeMX 中的配置 ........................................................................ 141 © 2020 大疆创新 版权所有 7
11.4.3 主要函数介绍 .......................................................................................... 143 11.4.4 程序流程 ................................................................................................. 147 11.4.5 效果展示 ................................................................................................. 148 11.5 进阶学习 ........................................................................................................ 148 11.5.1 IST8310 的读写过程 ............................................................................... 148 11.5.2 IST8310 的寄存器信息 ........................................................................... 154 11.6 课程总结 ........................................................................................................ 159 12. OLED 显示 ............................................................................................................ 160 12.1 知识要点 ........................................................................................................ 160 12.2 课程内容 ........................................................................................................ 160 12.3 12.3 基础学习 ................................................................................................ 160 12.3.1 OLED 简介 .............................................................................................. 160 12.4 软件学习 ........................................................................................................ 161 12.4.1 硬件接线.............................................................................................. 161 12.4.2 cubeMX 配置过程 ................................................................................... 162 12.4.3 主要函数介绍 ...................................................................................... 164 12.4.4 程序流程.............................................................................................. 171 12.4.5 效果展示.............................................................................................. 172 12.5 进阶学习 ........................................................................................................ 173 12.5.1 OLED 通信过程 ...................................................................................... 173 12.5.2 OLED 初始化配置 ................................................................................... 174 12.6 课程总结 ........................................................................................................ 175 13. BMI088 传感器 ...................................................................................................... 176 13.1 知识要点 ........................................................................................................ 176 13.2 课程内容 ........................................................................................................ 176 13.3 基础学习 ........................................................................................................ 176 13.3.1 陀螺仪简介 .......................................................................................... 176 13.3.2 加速度计简介 ...................................................................................... 176 13.3.3 SPI 协议简介 .......................................................................................... 177 13.4 程序学习 ........................................................................................................ 179 13.4.1 SPI 在 cubeMX 中的配置 ........................................................................ 179 13.4.2 BMI088 的寄存器简介 ............................................................................ 181 13.4.3 BMI088 读取函数介绍 ............................................................................ 182 13.4.4 程序流程.............................................................................................. 185 8 © 2020 大疆创新 版权所有
分享到:
收藏