[技术问答]

华大HC32L110外部中断问题

[复制链接]
916|12
手机看帖
扫描二维码
随时随地手机跟帖
SUUY79|  楼主 | 2023-2-9 23:18 | 显示全部楼层 |阅读模式
Gpio_EnableIrq(2,5,GpioIrqFalling)//P2.5外部端口下降沿中断
EnableNvic(2,0,TRUE)//P2端口使能,最高优先级
void PORT2_IRQHandler(void)//中断服务函数
{
if(Gpio_GetIrqStat(2,5)){POut=0;}
}

使用特权

评论回复
SUUY79|  楼主 | 2023-2-9 23:20 | 显示全部楼层
想利用P2.5端口下降沿做外部中断,最高优先级,那位大佬帮忙看下这个初始化函数和中断服务函数是否正确

使用特权

评论回复
yang377156216| | 2023-2-10 09:17 | 显示全部楼层
SUUY79 发表于 2023-2-9 23:20
想利用P2.5端口下降沿做外部中断,最高优先级,那位大佬帮忙看下这个初始化函数和中断服务函数是否正确 ...

外部中断 P33 配置示例.png
直接参照该路径下的例程即可,另外加了些注释帮助你理解每一步的作用。

使用特权

评论回复
SUUY79|  楼主 | 2023-2-10 23:52 | 显示全部楼层
yang377156216 发表于 2023-2-10 09:17
直接参照该路径下的例程即可,另外加了些注释帮助你理解每一步的作用。

...

谢谢,我想再问下,如果P2.3~P2.7任何一个端口中断都执行同一个函数,这个中断怎么初始化啊

使用特权

评论回复
ddxx| | 2023-2-11 06:53 | 显示全部楼层
SUUY79 发表于 2023-2-10 23:52
谢谢,我想再问下,如果P2.3~P2.7任何一个端口中断都执行同一个函数,这个中断怎么初始化啊 ...

其实各端口只是中断输入源,分别配置各端口为输入,并配置各端口中断产生方式,再配置中断控制器相关部分就行了。中断处理函数中根据相关端口状态分别处理。

使用特权

评论回复
tpgf| | 2023-3-6 10:56 | 显示全部楼层
这三个语句是没有问题的 但是 还涉及到相关的初始化函数

使用特权

评论回复
八层楼| | 2023-3-6 11:21 | 显示全部楼层
SUUY79 发表于 2023-2-10 23:52
谢谢,我想再问下,如果P2.3~P2.7任何一个端口中断都执行同一个函数,这个中断怎么初始化啊 ...

在进入中断函数的时候调用同一个函数进行处理就行

使用特权

评论回复
观海| | 2023-3-6 11:46 | 显示全部楼层
中断源不同会在进入中断函数的时候进行判定的

使用特权

评论回复
guanjiaer| | 2023-3-6 12:05 | 显示全部楼层
io中断都是进入的一个中断函数 只不过里边是判定相关标识量来确定是哪个引脚产生的中断

使用特权

评论回复
heimaojingzhang| | 2023-3-6 12:19 | 显示全部楼层
SUUY79 发表于 2023-2-10 23:52
谢谢,我想再问下,如果P2.3~P2.7任何一个端口中断都执行同一个函数,这个中断怎么初始化啊 ...

应该是进入的同一个中断函数 然后在函数中分别判定是哪个引脚产生的中断,然后再分别进入不同的服务函数

使用特权

评论回复
keaibukelian| | 2023-3-6 12:52 | 显示全部楼层
其实中断函数里边可以根据标志量精确地判断出来是哪个引脚

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

80

帖子

1

粉丝