Skip to content

Inspirer【振奋者】是一个基于GD32F450以及RT-Thread嵌入式实时操作系统,采用C和C++以及汇编混合编程,实现两轮平衡小车控制的项目。并编写了相应MATLAB上位机程序,使MATLAB可以通过蓝牙串口遥控小车以及实时显示小车当前姿态。

License

Notifications You must be signed in to change notification settings

Karcarve/BalanceCar_Inspirer

 
 

Repository files navigation

Inspirer

简介

Inspirer是一款自己设计的两轮平衡小车,硬件资源主要如下:

硬件 描述
芯片型号 GD32F450VGT6
CPU ARM Cortex M4
主频 200M
片内SRAM 512K
片内FLASH 2048K

编译说明

Inspirer采用MDK5开发环境,以下是具体版本信息:

IDE/编译器 已测试版本
MDK5 MDK535a

GD32程序框架

包含九部分APP、INT、SYS、BSP_F450、OS、CMSIS、Starup、LIB_F450、和Doc。

APP

包含主函数和所有功能模块执行的任务。

INT

包含所有的中断函数。

SYS

系统滴答定时器初始化。

BSP_F450

包含所有硬件模块功能的实现,以及对GD32F450底层函数的调用,移植到不同的芯片只需要更改这些模块的底层调用。

OS

对RT-Thread系统功能的封装,更换不同的操作系统只需要更改调用的操作系统函数。

CMSIS

GD32F450系统时钟配置。

Startup

GD32F450启动文件。

LIB_F450

GD32F450官方库。

编程风格简介

BSP不需要父类,一个外设对应一个.c和.h,对应一个父类。全局类声明放在main.c, 并用宏定义区分不同的芯片,并提示错误,不需要单独的全局.c文件, 工程结构:BSP TASK OS INT SYS CMSIS Startup GD32LIB Doc, 自己创建的源文件要放在对应的文件夹里面。使用new关键字更加方便。 路径配置到工程里面,使用VScode和Git进行编辑和管理。 自己创建的.c.h命名全部大写,模块的类名全部大写,成员函数首字母大写,全局的前面加g, 变量和数组小写。IO下面的子类就包含LED类。

About

Inspirer【振奋者】是一个基于GD32F450以及RT-Thread嵌入式实时操作系统,采用C和C++以及汇编混合编程,实现两轮平衡小车控制的项目。并编写了相应MATLAB上位机程序,使MATLAB可以通过蓝牙串口遥控小车以及实时显示小车当前姿态。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 67.4%
  • HTML 20.6%
  • C++ 6.1%
  • Makefile 3.5%
  • Assembly 2.1%
  • MATLAB 0.3%