This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM1808 GPIO口作为遥控输入应用

Other Parts Discussed in Thread: AM1808

现在使用AM1808的一个GPIO口作为遥控器键值输入,通过定时器采样输入脉冲波形得到码值:

建立GPIO中断,并 设置输入模式  上升沿触发    然后在中断服务中通过计时器采样 。定时器2已使能启动

      GPIO中断服务中:
           ArmIrdata.IR_CurPluse = TimerCounterGet(SOC_TMR_2_REGS,TMR_TIMER12);
          if ( ArmIrdata.IR_CurPluse > ArmIrdata.IR_PrePluse )
          {
              ArmIrdata.IR_periodTime = ArmIrdata.IR_CurPluse - ArmIrdata.IR_PrePluse;

          }
          else {
              ArmIrdata.IR_periodTime = 0xFFFFFF - ArmIrdata.IR_PrePluse + ArmIrdata.IR_CurPluse;
          }

        ArmIrdata.IR_PrePluse = ArmIrdata.IR_CurPluse;
按下一次遥控器之后,得到的IR_periodTime 为什么只有16-18次 ??
起始码停止码+16位地址+16位数据+结束码   最起码要触发34次的   


谢谢,帮忙解解难题