MSH_CMD_EXPORT指令运行不了

c529063382 2021-09-09 15:04:24

static rt_err_t init_robot_control()

{

    robot_control *rb = &rb_control;

    rt_err_t res;

    do

    {

        res = init_pdo_mng(pdo_manager_entry, rb);

    } while (res != -RT_EFULL && res != RT_EOK);

    if (res == -RT_EFULL)

        return -RT_ERROR;

    res = init_caculate(control_entry, rb);

    return res;

}

MSH_CMD_EXPORT(init_robot_control, "null")

 

代码如上

putty
cpu0 start  CPU 3 OK
Hi, this is RT-Thread!!
Support link mode Speed 1000M
MSH_CMD_EXPORT(init_robot_control, "null")
MSH_CMD_EXPORT(init_robot_control,: command not found.
msh />MSH_CMD_EXPORT(init_robot_control)
MSH_CMD_EXPORT(init_robot_control): command not found.

运行如上

...全文
1286 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
【RT-Thread作品秀】Art-pi机械臂控制作者:李志青 概述5G时代物联走入更多行业与领域,使用广和通的L610在模块,通过MQTT与中国移动onenet互联,也尝试搭建了本地MQTT服务器,适合内部布署,其再加入柿饼派两块,结合体感手套与机械臂,数据进行通讯,实现远程控制。 开发环境硬件:art-pi,广和通4G模块,柿饼派,体感手套,SG90舵机 RT-Thread版本:4.0.3 开发工具及版本:RT-Thread Studio, STM32CubeMX, Arduino IDE1.8.5,PersimmonUIBuilder RT-Thread使用情况概述ulog:日志标红打印,更显眼 pahomqtt:与中国移动OneNet进行通讯 at_device:建立与广和通L610通讯 onnet:加密授权与中国移动OneNet配置信息一致 pwm:控制sg90舵机 uart:运用了三个,分别是uart1(控制台使用),uart4(与广和通L610通讯),uart6(接收柿饼派串口信息) 硬件框架请见附件word文件 体感手套使用arduino板子,串口通讯至第一块柿饼派 第一块柿饼派通过MQTT通讯到第二块柿饼派 第二块柿饼派通过串口与art-pi通讯 Art-pi与舵机,广和通L610通讯相互 软件框架说明请见附件word文件开启串口并指定相应引脚 开启多个组件,并做具体配置 开启线程 开启指定GPIO并指定引脚 软件模块说明具体软件模块: Uart串口通讯主要在main,c: /*数据解析线程---发送串口指令*/ staticvoiddata_parsing(void) { charch; chardata[ONE_DATA_MAXLEN]; staticchari = 0; while(1) { ch = uart_sample_get_char(); rt_device_write(serial, 0, &ch, 1); if(ch == DATA_CMD_END) { data[i++] ='\0'; rt_kprintf("data=%s\r\n",data); i = 0; if(strcmp(data,"0") == 0) { UserPWM_0_5msStart();// 0度 } if(strcmp(data,"45") == 0) { UserPWM_1_0msStart();// 45度 } if(strcmp(data,"90") == 0) { UserPWM_1_5msStart();// 90度 } if(strcmp(data,"135") == 0) { UserPWM_2_0msStart();// 135度 } if(strcmp(data,"180") == 0) { UserPWM_2_5msStart();// 180度 } //UserPWM_0_5msStart(); continue; } i = (i >= ONE_DATA_MAXLEN-1) ? ONE_DATA_MAXLEN-1 : i; data[i++] = ch; } } Pwm控制主要在drv_pwm.c: /*封装舵机控制函数,即pwm */ voidUserPWM_Init(void) { MX_TIM3_Init(); } MSH_CMD_EXPORT(UserPWM_Init, user pwm init); voidUserPWM_Stop(void) { HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_3); } MSH_CMD_EXPORT(UserPWM_Stop, user pwm stop); voidUserPWM_0_5msStart(void) { HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_3); __HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_3,500); HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_3); } MSH_CMD_EXPORT(UserPWM_0_5msStart, angle zero); voidUserPWM_1_0msStart(void) { HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_3); __HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_3,1000); HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_3); } MSH_CMD_EXPORT(UserPWM_1_0

433

社区成员

发帖
与我相关
我的任务
社区描述
一起玩转树莓派
社区管理员
  • isSamle
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧