问题遇到的现象和发生背景
我正在做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);加不加都试过了,都不行
|