TIwilliam hill官网
直播中

李允麒

7年用户 258经验值
私信 关注

用TMS320F28027 DSP做了一个威廉希尔官方网站 ,好像只能接三个外部IO口中断,现在要进行5个IO口按键中断操作,有什么方法吗?

本帖最后由 一只耳朵怪 于 2018-6-14 08:58 编辑

用TMS320F28027 DSP 做了一个威廉希尔官方网站 ,外部的上下左右等5个非自锁按键,连接到DSP的GPIO2,3,4,5,6 五个管脚上。
通过外部触发中断,实现显示屏上的数值输入和移动等功能。
存在的问题:
28027 DSP好像只能接三个外部IO口中断,现在要进行5个IO口按键中断操作,有什么方法吗?谢谢!

回帖(6)

何丽

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

李允麒

2018-6-13 07:32:30
引用: 广陵云峰 发表于 2018-6-13 07:26
可以五个信号全部接到一个中断管脚上,并分别接到5个IO口上,每个按键按下都会产生中断,然后在中断处理函数中根据5个IO口状态来判断具体是哪个按键按下了,从而得出键值。

好方法,我来试下。
举报

李允麒

2018-6-13 07:39:22
引用: 广陵云峰 发表于 2018-6-13 07:26
可以五个信号全部接到一个中断管脚上,并分别接到5个IO口上,每个按键按下都会产生中断,然后在中断处理函数中根据5个IO口状态来判断具体是哪个按键按下了,从而得出键值。

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

28027有三个中断源,XINT1、XINT2、XINT3,这三个中断源都要确定一个IO口管脚与之匹配的。这个和MSP430单片机的方式不一样。
MSP430单片机可以多个管脚公用一个中断源,然后通过判断管脚电平来确定到底是哪个管脚触发了中断。
下面贴出我程序里的中断源设置:

举报

何丽

2018-6-13 07:53:36
引用: Lindalwj 发表于 2018-6-13 07:39
这样好像不行吧。在28027DSP里,外部中断寄存器是要确定中断接口的。

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

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

更多回帖

发帖
×
20
完善资料,
赚取积分