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.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