发 帖  
原厂入驻New
请问ARM核芯片的GPIO都可以设置中断输入吗?
63 ARM
分享
ARM芯片的GPIO都可以设置中断输入吗?
ARM核芯片的GPIO都可以设置中断输入吗?
0
2020-5-28 05:55:20   评论 分享淘帖 邀请回答
6个回答
云汉达人

目前所接触到的都是支持的,无论是STM32,还是A8,都是支持的。当然不排除一些偏门的不支持的。
如:STM32的



或是TI的AM437x ARM® Cortex™-A9
2020-5-28 07:03:59 评论

举报

大部分的AMR芯片,比如CORTEX-M3内核的芯片,大部分的GPIO是支持外部中断输入功能的,但不是所有的GPIO都有这个功能,有些GPIO实现了JTAG和SWD,时钟输出功能,这些GPIO的话,只能作为输入和输出功能,没有中断功能,具体还是要看器件的DATASHEET
2020-5-28 07:14:43 评论

举报

云汉达人

ARM的GPIO设置主要
1,设置GPIO的ID,设置哪一个gpio;
2,设置GPIO的功能号,设置为那种模式,包括普通GPIO,特殊功能1,特殊功能2,。。。比如某个GPIO可以选择设置为普通gpio或者串口的输入,或者USB的D+功能之一,主要看datasheet的功能表
3,设置GPIO方向为输入还是输出
4,设置GPIO的驱动能力,1ma,2ma,3ma,4ma,5ma,6ma,7ma,8ma,16ma等等
5,设置GPIO的上拉的电压域为多少伏特(可选择,有些处理器没有这个功能)
6,可配置弱上拉电阻或下拉电阻。
7,设置输出电平为高电平还是低电平
8,处理器睡眠的时候的GPIO状态,高电平,低电平,float,或者保持状态
9,作为中断源的触发条件,上升沿,下降沿,上升和下降沿,高电平,低电平,
例如:SD卡中断可以设置上升沿,下降沿对应位都为1。这样插进卡和拔出卡就可以用同一个中断。不需要使用两个GPIO中断来实现。
调用request_irq把中断处理函数挂上去了,信号发生变化时,中断处理函数自然就被调用了。
如果一个GPIO对应于一个中断(一级中断),则相应的中断位就会被设置成1;如果一堆GPIO对应一个中断(二级中断),则,中断位被设置成1后还得查询那一个GPIO产生的中断。
10,某些GPIO可将CPU从深度睡眠模式中唤醒
11,某些GPIO是开漏输出,作为输出口的时候,输出低电平的时候为mos管导通,输出为低电平,设置为输出高电平的时候是开路状态,要外接上拉电阻来维持高电平
2020-5-28 07:30:18 评论

举报

同樣的問題,
絕大多數的ARM Core都支援GPIO Interrupt,也有相關對應的Register,
具體描述和配置,請詳見各SOC的Datasheet,
以上希望對您有用
2020-5-28 07:47:09 评论

举报

云汉达人
大多数都支持吧
2020-5-28 08:04:32 评论

举报

云汉达人
不一定,具体的实现要看厂家。虽然都是ARM内核,但是不同的厂家有自己的改动。
2020-5-28 08:20:54 评论

举报

只有小组成员才能发言,加入小组>>

267个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表