Robotics-Documents/工程代码笔记及达妙电机使用规范.md

1.2 KiB
Raw Blame History

24赛季工程机器人代码笔记

24赛季工程机器人代码为basic_framework框架下C/C++混编,主要目的为使用上海交通大学开源的嵌入式机器人学运算库 SJTU-RoboMaster-Team/Matrix_and_Robotics_on_STM32

混合编译注意事项

机械臂解算相关代码放在了gimbal.cpp代码中使用了C++特性的源文件都需要以.cpp结尾

如果希望.c文件能够调用.cpp文件提供的函数,则需要在.cpp文件对应的头文件中加入extern "C" {}关键字

gimbal.h

#ifndef GIMBAL_H
#define GIMBAL_H

#ifdef __cplusplus
extern "C" {
#endif
/**
 * @brief 初始化云台,会被RobotInit()调用
 * 
 */
void GimbalInit();

/**
 * @brief 云台任务
 * 
 */
void GimbalTask();

#ifdef __cplusplus
}
#endif

#endif // GIMBAL_H

达妙电机相关

湖大开源basic_framework框架的达妙驱动为每个达妙电机单独创建了一个任务但赛场测试发现这会经常导致某些电机离线因此新版代码中将所有达妙电机像DJI电机一样在一个任务中控制

ID设置规范

alt text alt text