找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1935|回复: 1
收起左侧

制作单片机循迹小车程序遇到问题 求帮助

[复制链接]
ID:590981 发表于 2019-8-2 21:35 | 显示全部楼层 |阅读模式
今天把程序一切都准备差不多了,程序没有发现说明错误和警告。但是因为之前没焊好线路,没法接上循迹模块,但是把带有循迹模块的程序烧进去之后,本来因为四个轮都不动,却发现四个轮都在转动。…现在还没搞明白问题出在哪?程序如下
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();
}
}//可以在地上贴横向黑胶带,当三个循迹模块同时检测到时,实现定点停车。

回复

使用道具 举报

ID:332444 发表于 2019-8-3 10:49 | 显示全部楼层
从发出来的片段代码看这样的写法非常烂,由于其他的函数没看到,因而不能管中窥豹,臆测断言,但就发出来的语句看判断中用无限循环这样写法是最烂的写法了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表