打印
[应用相关]

stm32循迹小车停止之后再前进,为什么只能做到停止,不前...

[复制链接]
346|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
别用延时,放定时器里面去判断标志位

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

528

主题

1720

帖子

0

粉丝