[应用相关] stm32循迹小车停止之后再前进,为什么只能做到停止,不前...

[复制链接]
 楼主| flycamelaaa 发表于 2022-4-11 10:54 | 显示全部楼层 |阅读模式
问题遇到的现象和发生背景
我正在做32的循迹小车,想让它在三个探头都探测到黑色时停止一段时间,然后继续前进,但是它只能做到停止,不再继续往前。
问题相关代码如下:
在main.c当中如果三个探头都探测到黑色:
else if(SEARCH_L_IO ==BLACK_AREA &&SEARCH_M_IO == BLACK_AREA&& SEARCH_R_IO == BLACK_AREA)
{
CarStopgo ;
}
在motor.c当中对 CarStopgo的定义如下:
void CarStopgo(void)
{
front_left_speed_duty=0;
front_right_speed_duty=0;
behind_left_speed_duty=0;
behind_right_speed_duty=0;//停止
delay(5000);//等待5秒
front_right_speed_duty=SPEED_DUTY;
behind_left_speed_duty=SPEED_DUTY;//前进
}
但是小车只能停止不能前进。

也有人建议我这么改,但我试了一下还是不行else if(SEARCH_L_IO ==BLACK_AREA &&SEARCH_M_IO == BLACK_AREA&& SEARCH_R_IO == BLACK_AREA)
{

  CarStop ;//停止

  delay (5000);//等待5秒

  CarGo;//前进

  delay (200);
}

最后的delay (200);加不加都试过了,都不行
小叶三千 发表于 2022-4-11 11:02 | 显示全部楼层
别用延时,放定时器里面去判断标志位
您需要登录后才可以回帖 登录 | 注册

本版积分规则

824

主题

4298

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部