今天把程序一切都准备差不多了,程序没有发现说明错误和警告。但是因为之前没焊好线路,没法接上循迹模块,但是把带有循迹模块的程序烧进去之后,本来因为四个轮都不动,却发现四个轮都在转动。…现在还没搞明白问题出在哪?程序如下
int main(void)
{
delay_init(); //延时函数初始化
Motor_1234_Config(); //298电机驱动初始化
XUNJI();//初始化
TIM1_PWM_Init(9999,7199);
while(1)
{
if(Led10&&Led21&&Led30)
{
while(1)
{
Motor_1234_PRun();
}
}
else if(Led11&&Led30)
{
while(1)
{
Turn_Left();
if(Led10&&Led21&&Led30)
break;
}
}
else if(Led10&&Led31)
{
while(1)
{
Turn_Right();
if(Led10&&Led21&&Led30)
break;
}
}
else if(Led11&&Led21&&Led31)
{
while(1)
{
Motor_1234_STOP();
}
}
}
}
利用pwm输出来控制内外侧轮子不同的转速实现转弯,而后
if(Led10&&Led21&&Led30
break;
来实现跳出,实现在转弯过程中遇到中间循迹模块检测到黑胶后,跳出前一个循环,小车开始直行。
最后 else if(Led11&&Led21&&Led31)
{
while(1)
{
Motor_1234_STOP();
}
}//可以在地上贴横向黑胶带,当三个循迹模块同时检测到时,实现定点停车。