You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.8 KiB
1.8 KiB
1.hbot在归零的时候卡死了,阻塞在了第四步,猜测可能原因是由于下面代码导致的
int32_t XYRobotCtrlModule::waiting_for_stop(function<bool()> condition_fn, bool checkWhenLoop, int32_t delay) {
while (!_motor_is_reach_target()) {
if (m_thread.getExitFlag()) break;
if (condition_fn()) break;
if (checkWhenLoop && !check_when_run()) {
break;
}
osDelay(delay);
}
_motor_stop(); //可能原因这里发送SPI指令失败导致的。
while (_motor_is_reach_target()) { //可能阻塞在这一行
osDelay(10);
}
return 0;
}
07445691 INFO [XYRobotCtrlModule] enable:1
07445739 INFO [XYRobotCtrlModule] xymotor_move_to_zero
07445740 INFO [XYRobotCtrlModule] do_xymotor_move_to_zero
07445754 INFO [XYRobotCtrlModule] enable:1
07445756 INFO [XYRobotCtrlModule] _motor_move_to_end xdirection:-1 ydirection:0 maxv:80
07445757 INFO [XYRobotCtrlModule] moveTo x:-100000 y:0 m1:50000 m2:50000 v:80
07445779 INFO [XYRobotCtrlModule] step1 reach x zero ok
07445780 INFO [XYRobotCtrlModule] _motor_move_to_end xdirection:1 ydirection:0 maxv:10
07445781 INFO [XYRobotCtrlModule] moveTo x:99998 y:0 m1:-49999 m2:-49999 v:10
07445819 INFO [XYRobotCtrlModule] step2 leave x zero ok
07445820 INFO [XYRobotCtrlModule] step3 reach y zero ok
07445821 INFO [XYRobotCtrlModule] _motor_move_to_end xdirection:0 ydirection:1 maxv:10
07445823 INFO [XYRobotCtrlModule] moveTo x:0 y:100000 m1:-50000 m2:50000 v:10
07465787 INFO [XYRobotCtrlModule] module_stop
00000018 INFO [SYS ] chip init ok
00000019 INFO [SYS ] = manufacturer : http://www.iflytop.com/
00000020 INFO [SYS ] = project name : a8000_subboard
00000021 INFO [SYS ] = version : 600
00000022 INFO [SYS ] = freq : 144000000
00000023 INFO [SYS ] = build time : Aug 1 2024 12:52:10