找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机红外控制遥控车程序的问题 我真的有很多问号

查看数: 1811 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-3-29 12:04

正文摘要:

日常提问,丰富自己。。。。 在此提前谢过各位的指点,感激之情,不胜言表!!!! 在此提前谢过各位的指点,感激之情,不胜言表!!!! 在此提前谢过各位的指点,感激之情,不胜言表!!!! 提问背景:我 ...

回复

ID:367369 发表于 2020-3-30 12:08
壮大51 发表于 2020-3-30 10:12
direction 里面就是对P1总线赋值
direction(u8 i)
{

你也说了“因为我在操作完direction函数后,用IrValue[2]=0把数据码清空了,所以在下一次循环时就不会执行direction”
所以你的P1状态为上次操作后的状态即 P1=0x55;电机前进,而后面的程序没有对P1的状态进行改变;所以车一直前进
ID:367369 发表于 2020-3-30 12:03
壮大51 发表于 2020-3-30 10:12
direction 里面就是对P1总线赋值
direction(u8 i)
{

main你应该可以改成
while(1)
{
if (IrValue[2]==0x18)
  direction(0x55);
else
direction(0x00);
}
ID:703220 发表于 2020-3-30 10:12
game灬boy 发表于 2020-3-29 15:13
direction();可以发出来吗?  你的程序应该是IrValue[2]=0x18;然后电机的信号线的状态变为前进状态;当IrV ...

direction 里面就是对P1总线赋值
direction(u8 i)
{
        P1=i;
}
P1八个IO口控制两个L293D的信号,以此来让电机正反转
ID:341045 发表于 2020-3-29 15:16
//估计是遥控的接收码你没列全, 你这样试下
while(1)
{
                switch(IrValue[2])
                        {         
                                case(0x45):
                                         startstop();IrValue[2]=0;break;               
                                case(0x18):
                                         direction(0x55);IrValue[2]=0;break;

                                //你应该是截取的数据码不全, 你试加下面几句试下        
                                default:
                                         startstop();IrValue[2]=0;  //电机停, 接收数据清0, 不是这二句就按你的改
                                         break;
                         }
}
ID:367369 发表于 2020-3-29 15:13
direction();可以发出来吗?  你的程序应该是IrValue[2]=0x18;然后电机的信号线的状态变为前进状态;当IrValue[2]=0时你的电机的状态没有更新
ID:341045 发表于 2020-3-29 15:06
while(1)
{
                switch(IrValue[2])
                        {         
                                case(0x45):
                                         startstop();IrValue[2]=0;break;               
                                case(0x18):
                                         direction(0x55);IrValue[2]=0;break;        
                                //估计是你还有数据没截取, 如释放键码, 新加下面试下
                                default:

                                         
                                         break;


                         }
}

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

Powered by 单片机教程网

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