Serial的问题解决了。谢谢。的确我是没有搞清楚传输的代码。
我使用的是外接电源供电同时打开了电池的开关。
通过串口的输出,在停转的时候,我获得了以下信息。
代码:
double leftHorizontal = msg->data.data[0]; // 左摇杆左右
double leftVertical = msg->data.data[1]; // 左摇杆上下
double rightHorizontal = -msg->data.data[2]; // 右摇杆左右
/// 计算每个电机的速度
double motorSpeed0 = (leftVertical - leftHorizontal + rightHorizontal) * 100;
double motorSpeed1 = (leftVertical + leftHorizontal - rightHorizontal) * 100;
double motorSpeed2 = (leftVertical - leftHorizontal - rightHorizontal) * 100;
double motorSpeed3 = (leftVertical + leftHorizontal + rightHorizontal) * 100;
// 更新电机速度,确保速度值在-100到100之间
motor.updateMotorSpeed(0, static_cast<int16_t>(std::max(std::min(motorSpeed0, 100.0), -100.0)));
motor.updateMotorSpeed(1, static_cast<int16_t>(std::max(std::min(motorSpeed1, 100.0), -100.0)));
motor.updateMotorSpeed(2, static_cast<int16_t>(std::max(std::min(motorSpeed2, 100.0), -100.0)));
motor.updateMotorSpeed(3, static_cast<int16_t>(std::max(std::min(motorSpeed3, 100.0), -100.0)));
Serial.println(motorSpeed0);
Serial.println(static_cast<int16_t>(std::max(std::min(motorSpeed0, 100.0), -100.0)));
错误信息:
ets Jul 29 2019 12:21:46
rst:0x8 (TG1WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drets Jul 29 2019 12:21:46
rst:0x8 (TG1WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, ets Jul 29 2019 12:21:46
rst:0x8 (TG1WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1184
load:0x40078000,len:13260
load:0x40080400,len:3028
entry 0x400805e4