久芯网

MC_StopMotor1()电机后,再也无法启动了

avatar 我是胡工 提问时间: 2023-09-24 19:25:59 / 未解决
//使用串口中断控制
***_it.c
extern uint8_t recivedatass;
void USART1_IRQHandler(void)
{
  HAL_UART_IRQHandler(&huart1);
  HAL_UART_Receive_IT(&huart1,&recivedatass,1);
  printf("int:rcv=%d\r\n",recivedatass);
}



main.c
main()
{
  ...
  while (1)
  {
    if(recivedatass==65)
    {
   MC_StopMotor1();
   printf("exec stop motor \r\n");
   recivedatass=0;
    }
   
    if(recivedatass==66)
    {
   printf("exec before start motor\r\n");
   MC_StartMotor1();
   printf("exec after start motor\r\n");
   recivedatass=0;
    }  
   }
}


4个回答
  • avatar 陌路夕颜
    回答时间: 2023-09-24 19:53:05

    先检查串口还能不能收到数据,收到的数据对不对,但不知道你外围电路是怎么样的,也不知道你标红的哪两个函数的具体定义,所以很难判断是什么问题

  • avatar 子曰好人
    回答时间: 2023-09-24 20:11:45

    看我之前写的帖子吧,有做过反复启停实验的

  • avatar mylovemcu
    回答时间: 2023-09-24 20:44:54

    可先先测试一下单独启停好不好使 就是先启动几秒 在停止几秒 在启动几秒 反复循环 看一下启停函数有没有问题 在检测一下串口收发正常不

  • avatar jundao721
    回答时间: 2023-09-24 21:01:55

    增加断点跟踪,观察下stop完了后会不会执行start

会员中心 微信客服
客服
回到顶部