- 项目用于大连民族大学2024年创一工作室相扑机器人比赛
- 基于STM32F103C8T6芯片的电控程序
- 使用定时器任务来进行边缘检测和目标识别
- 使用PWM驱动电机
- 由HAL库驱动
- CubeMX生成代码,通过Makefile使能VSCode开发。使用VSCode/OpenOCD/Ozone进行程序烧录和调试
本工程的配置参考了湖南大学跃鹿战队basic_framework配置文档,所以你也可以根据这篇文章自行配置
- 下载安装最新VSCode,安装插件:C/C++ | Cortex-Debug | IntelliCode | Makefile Tools | stm32-for-vscode
- 自行下载make、arm-gnu-toolchain、openocd,并将各自的bin目录设为环境变量
参考的环境变量如下(无需全大写):
G:\ARM-GNU-TOOLCHAIN-13.2.REL1-MINGW-W64-I686-ARM-NONE-EABI\BIN
C:\PROGRAMDATA\CHOCOLATEY\BIN
(或者自己下载的make目录下的bin文件夹)
G:\OPENOCD-V0.12.0-I686-W64-MINGW32\BIN
- clone源代码到本地,在根目录下启动VSCode。VSCode提示使用makefile进行自动配置, 点击yes即可
- 你现在可以在任意代码内随意引用HAL库。点击侧边栏上的stm32-for-vscode插件即可进行编译、烧录等操作。若需要更换仿真器,使用"Change programmer"功能即可
- 下载安装最新VSCode,安装插件:C/C++ | Cortex-Debug | IntelliCode | Makefile Tools,在文件夹中打开VSCode即可通过Makefile自动配置工程
- 使用包管理器安装make、openocd
- 在VSCode的任务(Task)中执行编译/烧录。若需要更换仿真器,请更改根目录下openocd.cfg的内容:
source [find interface/<input your debugger>.cfg]
- 直接使用VSCode中的stm32-for-vscode工具自带的“Debug STM32”
- 你也可以参考湖南大学跃鹿战队basic_framework配置文档,使用Ozone进行调试。文件夹根目录中已经附带Ozone的.jbebug工程文件,默认使用DAP-Link连接
以Ubuntu 22.04系统举例:
- 下载arm-none-eabi-dbg,将其放入/usr/bin中
- 安装python3.8。由于这是一个过时版本的python,你无法在apt中直接下载到它。你或许可以参考这篇文章
- 运行VSCode中F5 Debug菜单中的“Linux STM Debug”任务
- [] PWM电机调速
- [] 边缘检测调头算法
- 目标检测
- [] PID算法