概述
目录
知识要点
课程内容
基础学习
程序学习
软件环境
cubeMX 新建工程
keil 软件简易入门
Keil 的调试模式
RoboMaster 机器人功能简介
课程总结
-
知识要点
- 开发板 C 型出厂程序功能介绍
- cubeMX 从新建 ioc 工程到生成 keil 工程
- keil 工程设置介绍
- keil 软件调试功能介绍
- RoboMaster 机器人总体功能简介
-
课程内容
本课程中,首先介绍 RoboMaster 开发板 C 型(以下简称开发板 C 型)出厂程序功能;之
后学习如何使用 cubeMX 生成 keil 工程,学习 stm32 的 keil 工程常见的设置,学习 keil 软
件如何进入调试模式;最后作为教程的开始,总体了解 RoboMaster 机器人的常见功能以及
对应使用到 stm32 的外设功能,指导之后的学习。
-
基础学习
RoboMaster 开发板 C 型采用高性能的 stm32 主控芯片,支持宽电压输入,集成专用的扩
展接口,通信接口以及高精度 IMU 传感器,可配合 RoboMaster 产品或者其他配件使用。
开发板 C 型具有如下外设:用户自定义 LED、5V 接口、BOOT 配置接口、micro USB 接
口、SWD 接口、按键、可配置 I/O 接口、UART 接口、CAN 总线接口、PWM 接口、DBUS
接口、数字摄像头 FPC 接口、蜂鸣器、电压检测 ADC、六轴惯性测量单元和磁力计。
开发板 C 型出厂已烧录程序,可通过 micro USB 线连接 PC,使用串口工具对开发板 C 型
的常用外设进行操作,操作如下所示:
-
在一级菜单选择界面上,可通过串口工具输入数字 1-9,选择对应的二级显示界面;在二级显示界面通过串口工具输入字母 q 或者 Q 退出二级显示界面。其中一级选择界面如图所示:
-
LED 正常状态为三色 LED 依次点亮。在 LED 显示界面显示当前 LED 状态:“LED ON”和“LED OFF”。LED ON 为三色 LED 均点亮,发出白光;LED OFF 指三色 LED 不是全部点亮。可使用串口工具输入 ON 或者 OFF 进行 LED 状态切换,LED 显示界面如下图所示:
-
蜂鸣器在开发板C型上电时会响起开机音效。在蜂鸣器显示界面显示当前蜂鸣器状态: “BUZZER OFF“和”BUZZER ON”。BUZZER OFF 为蜂鸣器不发出响声;BUZZER ON 为蜂鸣器响起《机甲大师》的主题曲《你》。可使用串口工具输入 ON 或者 OFF 进行 蜂鸣器状态切换,蜂鸣器显示界面如下图所示:
-
在 5V 接口显示界面显示当前 5V 接口状态:“LASER OFF“和”LASER ON”。LASER OFF 为 5V 接口不输出;LASER ON 为 LASER。可使用串口工具输入 ON 或者 OFF 进行 5V 接口状态切换,5V 接口显示界面如下图所示:
-
在按键显示界面显示当前按键状态:“KEY OFF“和”KEY ON”。KEY OFF 为按键处在未 按下状态;KEY ON 为按键处在已按下状态,按键显示界面如下图所示
-
在电源电压显示界面显示当前电源电压“BATTERYVOLTAGE: 24.000V“。其中24.000V 为当前电源电压,实际数值以测量为准,LED 显示界面如电源电压显示界面如下图所示:
-
在 IMU 显示界面显示陀螺仪、加速度计和磁力计数据,IMU 显示界面如下图所示:
-
在遥控器显示界面显示当前遥控器数据状态,遥控器数据显示界面如下图所示:
-
在 PWM 显示界面显示当前 PWM 输出高电平时间状态“PWM: 1000“。其中 1000 代表高电平时间为 1000ms,PWM 显示界面如下图所示
-
在 CAN 显示界面显示当前 CAN 接收数据包个数情况:“CAN1 RECEIVE NUM:1000“, “CAN2 RECEIVE NUM: 1000“。其中 1000 代表 1 秒内接收到数据包个数为1000 个, CAN 显示界面如下图所示:
-
-
程序学习
-
软件环境
- Toolchain/IDE : MDK-ARM V5
STM32F4xx_DFP Packs:2.13.0
STM32CubeMx:5.2.1
package version: STM32Cube FW_F4 V1.21.1
FreeRTOS version: 10.0.1
CMSIS-RTOS version: 1.02
- Toolchain/IDE : MDK-ARM V5
-
cubeMX 新建工程
- 打开 cubeMX 软件,在 file 选项中选择“New Project”;
- 搜索 stm32f407ig,选择 STM32F407IGHx 芯片;
- 在 System Core 下选择 RCC 选项,在 RCC mode and Configuration 中的 High Speed Clock(HSE)下选择 Crystal/Ceramic Resonator;
- 点击顶部的 Clock Configuration,进行主频配置;将 Input frequecncy 设置为12,点击 旁边的 HSE 圆形按钮,配置/M 为/6,配置*N 为 X168,配置/P 为/2 ,选择 PLLCLK 圆形 按钮,配置 APB1 Prescaler 为/4,配置 APB2 Prescaler 为/2;
- 点击顶部的 Project Manager,给工程起名,选择存放目录,在 Toolchain/IDE 中选择 MDKARM V5;
- 点击旁边的 Code Generator,勾选 Copy only the necessary library files 以及 Generate peripheral initialization as a pair of ‘.c/.h’ files per peripheral;
- 点击顶部的 GENERATE CODE,等待代码生成,打开工程。
- 打开 cubeMX 软件,在 file 选项中选择“New Project”;
-
keil 软件简易入门
- 打开生成的工程,keil 界面如图所示,其中 1 为调试模式,2 为编译改变的文件,3 为编 译全部的文件,4 为下载按键,5 为工程设置选项,6 为工程目录;
- 点击 5 工程设置,进行工程相关设置,选择 Output,其中 Create HEX file 为是否生成 HEX 文件,Browse Information 为是否增加浏览信息,选择是,可以使用鼠标右键点击函数 进行跳转操作,但会增加编译时长;
- 点击 C/C++,其中 1 方框为工程宏定义设置,可在此添加宏定义;2 方框为头文件引用目 录,对于项目自行建立的 h 文件需要在此处进行目录录入;
- .点击 Debug 选项,设置好对应的下载器;
- 点击下载器旁边的 Settings 选项,进行下载器相关设置,其中 Clock 中设置下载器的频 率,频率越高,下载速度越快,但容易受到干扰;
- 点击 Flash Download,其中 Erase Full Chip 代表下载时擦除芯片内全部页面的 flash, Erase Sectors 代表下载时擦除部分页面的 flash,Do not Erase 代表下载时不擦除 flash ; 点击 Reset and Run 代表下载完程序后立即运行程序。
- 打开生成的工程,keil 界面如图所示,其中 1 为调试模式,2 为编译改变的文件,3 为编 译全部的文件,4 为下载按键,5 为工程设置选项,6 为工程目录;
-
Keil 的调试模式
https://blog.csdn.net/morixinguan/article/details/86629805?ops_request_misc=&request_id=&biz_id=102&utm_term=%20Keil%20%E7%9A%84%E8%B0%83%E8%AF%95%E6%A8%A1%E5%BC%8F&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-86629805.142^v39^new_blog_pos_by_title,185^v2^control&spm=1018.2226.3001.4187
-
-
RoboMaster 机器人功能简介
RoboMaster 机器人常见功能如下:-
校准功能:提供机器人的校准功能,使用到 stm32 的 flash 读写功能;
-
底盘控制功能:完成底盘的麦轮运动控制,使用到 stm32 的 CAN 总线功能。
-
离线判断功能:判断设备是否离线,使用到开发板 C 型的蜂鸣器;
-
云台控制功能:完成云台的角度控制,使用到 stm32 的 CAN 总线功能;
-
姿态解算功能:完成陀螺仪加速度计的角度融合,解算欧拉角,使用到 stm32 的 SPI 和 I2C 总线读取相关数据,使用到 stm32 的外部中断作为数据更新的标志,使用到 stm32 的 PWM 对加热电阻进行控制;
-
LED 的 RGB 切换:使用三色 LED 完成 RGB 显示,呼吸灯效,使用到开发板 C 型的 LED 灯;
-
OLED 显示功能:将信息显示出来,使用到 stm32 的 I2C 总线;
-
裁判系统数据解析功能:使用单字节解析裁判系统数据,使用到 stm32 的串口以及 DMA 功能;
-
遥控器数据解析功能:解析接收机发送的数据,使用到 stm32 的串口以及 DMA 功能;
-
舵机控制功能:通过按键控制舵机,使用 stm32 的 PWM 功能。
-
射击控制:控制下供弹装置,完成发射逻辑,使用到 stm32 的 GPIO 读取以及 CAN 总 线。
-
电源采样功能:采样电源电压,并估计当前电池电量,使用到 stm32 的 ADC 采样功能。
-
-
课程总结
本课程为基础入门课程,学习到如何使用 cubeMX 和 keil 软件进行工程创建,编译,下载, 调试等功能;介绍了开发板 C 型出厂自带的程序功能以及 RoboMaster 机器人常见功能, 作为学习的指导,为之后学习做铺垫
最后
以上就是从容飞机为你收集整理的开发板 C 型,cubeMX 与 keil 入门 知识要点课程内容基础学习程序学习RoboMaster 机器人功能简介课程总结的全部内容,希望文章能够帮你解决开发板 C 型,cubeMX 与 keil 入门 知识要点课程内容基础学习程序学习RoboMaster 机器人功能简介课程总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复