打印

各位老师好!

[复制链接]
2078|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
孤星119|  楼主 | 2009-4-7 10:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我刚开始学习ARM,有个问题想请教各位,我不知道使用PIO普通输入引脚的电平变化中断,需要注意哪些,我用的是AT91SAM7A3,当用评估板测试PIO中断功能时,当中断类型摄为边沿中断时,引脚电平无论如何变化都无法进入中断断点(用的是自带的样例程序,引脚配置为外设使用时,中断都能正常,说明硬件无问题).当设为电平变化时,一复位后一直进入中断.请问会是什么原因?谢谢各位.

相关帖子

沙发
computer00| | 2009-4-7 10:46 | 只看该作者

时钟初始化是否正确?

使用特权

评论回复
板凳
孤星119|  楼主 | 2009-4-7 12:32 | 只看该作者

回:computer00

应该正确,我核对过几便了,如果不正确的话,那此引脚分配给外设使用时,中断功能都好的啊,难道当外设使用时,不用配置时钟么?谢谢.

使用特权

评论回复
地板
阿南| | 2009-4-7 20:59 | 只看该作者

查看它的中断标志位是否已经产生,中断是否被屏蔽等

使用特权

评论回复
5
古道热肠| | 2009-4-8 11:26 | 只看该作者

可以用软件仿真看看是否配置不当

应该不会一直进中断的.

使用特权

评论回复
6
computer00| | 2009-4-8 11:30 | 只看该作者

IO时钟使能没?输入要使能IO时钟呀

使用特权

评论回复
7
孤星119|  楼主 | 2009-4-8 14:43 | 只看该作者

各位前辈真是热心肠啊.

我贴上我的程序各位看看:
//PIO时钟配置
AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC,1<<AT91C_ID_PIOB );
//设置SW4对应引脚为输入使能,并为PIO控制器控制
AT91F_PIO_CfgInput(AT91C_BASE_PIOB,SW4_MASK); 
//初始化中断控制寄存器:中断ID:PIOA。优先级:6,中断类型:电平敏感,中断调用函数为:pio_c_irq_handler
AT91F_AIC_ConfigureIt ( pAic, AT91C_ID_PIOB, PIO_INTERRUPT_LEVEL,AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL, pio_c_irq_handler);
//使能PIOA I/O口SW4_MASK(PB9 )引脚的输入变化中断
AT91F_PIO_InterruptEnable(AT91C_BASE_PIOB,SW4_MASK);
//使能PIOA中断
AT91F_AIC_EnableIt (pAic, AT91C_ID_PIOB);
各位先看看我这些步骤是否正确.

使用特权

评论回复
8
computer00| | 2009-4-8 15:08 | 只看该作者

怎么你注释是PA口,程序又是PB呢?

还有中断处理程序中,要有相应的清除中断的操作。

使用特权

评论回复
9
孤星119|  楼主 | 2009-4-8 15:16 | 只看该作者

回00,

使用特权

评论回复
10
孤星119|  楼主 | 2009-4-8 15:17 | 只看该作者

不好意思.

是我修改的时候,注释忘改过来了.处理程序中我有清除标记的.

使用特权

评论回复
11
cuijinyi| | 2013-5-24 15:54 | 只看该作者
触发方式高电平,

使用特权

评论回复
12
phoenix-l| | 2013-5-26 15:50 | 只看该作者
帮忙顶起

使用特权

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

本版积分规则

33

主题

689

帖子

0

粉丝