TI中文支持网
TI专业的中文技术问题搜集分享网站

AM1808 GPIO口作为遥控输入应用

现在使用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次的   

谢谢,帮忙解解难题

Welson Mo:

现在这个问题就集中在触发次数上,示波器看波形的确是正确的。就是中断触发的次数不正常。不知道是什么原因

Welson Mo:

回复 Welson Mo:

  问题的具体细节可以看下面的链接:

 https://e2e.ti.com/support/dsp/omap_applications_processors/f/42/p/509139/1848308#1848308

Tony Tang:

回复 Welson Mo:

我觉得你这个应用用ECAP接口应该更好。

目前通过定时中断去读取状态,你需要确定一下一个中断的响应时间跟GPIO的信号的切换时间,这之间能配合的上么。

Welson Mo:

回复 Tony Tang:

  你好,Tony Tang

        之前使用的是S3C2410,同样的做法 是完全OK的。

       现在只是更换成了AM1808,为啥就不行了?

Tony Tang:

回复 Welson Mo:

我建议调整timer中断的间隔试试。

Welson Mo:

回复 Tony Tang:

   您指的timer 中断指的是我采样的中断还是什么?

我现在出现的问题1:GPIO的触发次数有问题,少了很多。

                                2.触发的模式:我设置在下降沿模式,一个由高到低再到高的波形竟然触发了2次。 到底TI的GPIO的触发怎么设置啊

赞(0)
未经允许不得转载:TI中文支持网 » AM1808 GPIO口作为遥控输入应用
分享到: 更多 (0)