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.

TMS320F2802外部IO口中断

Other Parts Discussed in Thread: TMS320F28027

用TMS320F28027 DSP 做了一个电路,外部的上下左右等5个非自锁按键,连接到DSP的GPIO2,3,4,5,6 五个管脚上。

通过外部触发中断,实现显示屏上的数值输入和移动等功能。

存在的问题:

28027 DSP好像只能接三个外部IO口中断,现在要进行5个IO口按键中断操作,有什么方法吗?谢谢!

  • 可以五个信号全部接到一个中断管脚上,并分别接到5个IO口上,每个按键按下都会产生中断,然后在中断处理函数中根据5个IO口状态来判断具体是哪个按键按下了,从而得出键值。

  • 好方法,我来试下。

  • 这样好像不行吧。在28027DSP里,外部中断寄存器是要确定中断接口的。

    28027有三个中断源,XINT1、XINT2、XINT3,这三个中断源都要确定一个IO口管脚与之匹配的。这个和MSP430单片机的方式不一样。

    MSP430单片机可以多个管脚公用一个中断源,然后通过判断管脚电平来确定到底是哪个管脚触发了中断。

    下面贴出我程序里的中断源设置:

  • Troublemaker,

    我的建议是将五个按键的信号都接到一个中断管脚上,如XINT1,同时五个按键又分别接到不是中断的管脚上,如GPIO1~GPIO5,这样如果按键1按下,则XINT1上有信号则触发中断,而且GPIO1也有信号,在中断ISR中通过扫描GPIO1~GPIO5的信号,得到GPIO1有信号,则可以判断按键1有动作。这样只需要一个XINT1就可以扫描按键了。

     

  • 配置好的XINT是高阻态吗      IO都配置为输入   

    应该是没问题的      好方法

  • 好方法,你值得拥有!谢谢了!