5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

标题: 关于arduino红外库irremote的问题。 [打印本页]

作者: greenzyzyzy    时间: 2021-9-27 09:13
标题: 关于arduino红外库irremote的问题。
irremote是不是有BUG?
  if(digitalRead(turnrightpin)==LOW)
   {tmpm1val=5;
    tmpm3val=5;
    tmpm2val=-5;
    tmpm4val=-5;     <==================这几个都是获取按键按下改变电机的转速PWM的。
      }
     else
     {tmpm1val=0;
      tmpm3val=0;
      tmpm4val=0;
      tmpm2val=0;        
      }
   


    sendbuf[0]=m1val+deltam1val+tmpm1val;
    sendbuf[1]=m3val+deltam3val+tmpm3val;
    sendbuf[2]=m2val+deltam2val+tmpm2val;
    sendbuf[3]=m4val+deltam4val+tmpm4val;   <====改变tmpm的变量只有这句有效。前面3个tmpm的变量值都会变成0不知何解。直接用常量就没问题。

    //IrSender.sendRaw(sendbuf,32,38);
    IrSender.sendNEC(0x10,sendbuf[0],0);          <================下面这几条都可以正常发送。
    IrSender.sendNEC(0x11,sendbuf[1],0);
    IrSender.sendNEC(0x12,sendbuf[2],0);
    IrSender.sendNEC(0x13,sendbuf[3],0);
    delay(50);



作者: greenzyzyzy    时间: 2021-9-27 09:14
忘了说一下,这个是四轴。
作者: litong_874    时间: 2021-9-27 18:26
光看赋值没意义,要看变量申明
作者: greenzyzyzy    时间: 2021-9-27 21:02
litong_874 发表于 2021-9-27 18:26
光看赋值没意义,要看变量申明

都是字节型的。初值是0,后面重新赋值,但是还是0,无解。。。。


byte m1val=0;
byte m3val=0;
byte m2val=0;
byte m4val=0;

byte deltam1val=0;
byte deltam3val=0;
byte deltam2val=0;
byte deltam4val=0;

byte tmpm1val=0;
byte tmpm3val=0;
byte tmpm2val=0;
byte tmpm4val=0;

作者: litong_874    时间: 2021-9-28 18:24
是不是看门狗动作了,重新回到文件头开始运行了。
作者: greenzyzyzy    时间: 2021-9-28 22:14
litong_874 发表于 2021-9-28 18:24
是不是看门狗动作了,重新回到文件头开始运行了。

谢谢关注,检查来检查去还是程序出了错。流程错了,改天重写一下,就可以试机了。谢谢各位。


作者: hjs599    时间: 2022-1-6 12:34
学习了。




欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://bbs.5imx.com/) Powered by Discuz! X3.3