开发板 C 型,cubeMX 与 keil 入门
目录
知识要点
课程内容
基础学习
程序学习
软件环境
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 入门相关推荐
- 大疆开发板A型基于HAL库驱动M3508直流无刷电机及PID控制
1.首先,我们先了解一下大疆开发板A型的资料,官方有提供 官网:RoboMaster 机甲大师赛 芯片型号STM32F427IIH6 2.了解M3508直流无刷电机的资料,官网有提供 3.于是我找到 ...
- 【致敬未来的攻城狮计划】--RA2E1 开发板测评(1)keil环境配置
前言 (1)首先感谢 李肯前辈的活动,从而申请到了RA2L1开发板的测评. (2)本文将会简单介绍此开发的Renesas RA2L1 开发板的前期配置.需要注意的是,MDK版本要5.30 以上. MD ...
- 嵌入式 Linux 入门 环境篇(三、开发板和 PC 的网络互通)
嵌入式 Linux入门 环境篇第三课,开发板与PC的网络配置, 我们要实现 windows.ubuntu 和开发板三者的互通. ...... by 矜辰所致 前言 在环境篇前面的文章我们通过终端工具使 ...
- 野火F1开发板STM32案例-USART使用
野火F1开发板STM32-USART使用 硬件平台 野火STM32F103ZET6 霸道V2开发板 正点原子F1开发板 STM32蓝色板 软件平台 Keil MDK 5.31 串口调试助手 串口配置步 ...
- 【致敬未来的攻城狮计划】--RA2E1 开发板测评(4)UART通讯
前言 (1)首先感谢 李肯前辈的活动,从而申请到了RA2L1开发板的测评. (2)学习本文之前要具备的知识: [致敬未来的攻城狮计划]--RA2E1 开发板测评(1)keil环境配置: [致敬未来的攻 ...
- arduino loar_如何使用Arduino开发板制作函数生成器(波形发生器)
对于喜欢偶尔鼓捣电子产品的工程师来说,他们都希望能有自己的实验室.万用表.钳形表.示波器.LCR表.函数发生器.双模电源和自动变压器都是实验室的基本配置.虽然所有这些都可以购买,但我们也可以轻松地自行 ...
- UCOS II移植到STM32F103开发板
早期嵌入式开发没有嵌入式操作系统的概念 ,直接操作裸机,在裸机上写程序,比如用51单片机基本就没有操作系统的概念.通常把程序分为两部分:前台系统和后台系统. 简单的小系统通常是前后台系统,这样的程序包 ...
- 安富莱v6开发板网口通讯_【安富莱】各种开发板和模块的资料下载汇总贴(2020-04-06)...
论坛新域名: 最新工作进展: 事隔五年之后,开启第2版DSP数字信号处理和CMSIS-NN神经网络教程,同步开启三代示波器(2020-03-30) 开发板类: 1.STM32-V7开发板(2020-0 ...
- 安富莱v6开发板网口通讯_【安富莱】各种开发板和模块的资料下载汇总贴(2019-07-30)...
开发板类: 1.STM32-V7开发板(2019-07-28更新): 2.STM32-V6开发板(2019-07-28更新): (1)[安富莱]V6,V5开发板用户手册,重在BSP驱动包设计方法,HA ...
最新文章
- python selenium unittest_python+selenium+unittest——ui自动化的轻量级选择
- ExtJS实现完美Grid(2)--分组统计
- python写入数据到excel中_Python写入数据到Excel
- Eclipse 启动问题:'Initilizing Java Tooling' has encountered a problem(。。。)
- matlab cell,fix,floor,round取整的几种方式
- Java虚拟机组成详解
- 2022年移动应用趋势洞察白皮书
- 超级计算机应用领域的概括,超级计算机进展的相关研究
- Linux NFS存储服务部署
- 心语收集12:我以为要是唱的用心良苦,你就会对我多点在乎
- Harmony OS — ToastDialog提示对话框
- node.js require模板报错_简历不知道如何写起,推荐几个简历模板
- Flex请求Php端的奇怪现象
- C语言数据结构-顺序表的插入与删除(图文详解)
- NVIDIA:构建加速计算生态,推动深度学习应用落地
- 基于能量均衡高效WSN的LEACH协议改进算法
- Never give up!!
- linux开机不运行桌面快捷方式,Android 开机自动运行和添加删除桌面快捷方式
- 335x系列-解决爆破音导致的调用延迟问题
- Make Your First GAN With PyTorch:1.PyTorch基础