您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> [求助]PG12引脚配置成上升沿触发中断的问题... 
本帖共有342个阅读者
发表帖子 发表投票 回复主题
[求助]PG12引脚配置成上升沿触发中断的问题????
feelingliang(论坛新手)
feelingliang
头衔:社区公民
帮派:无帮无派
帖数:18
金钱:275
积分:27
注册时间:2017/9/14
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
[求助]PG12引脚配置成上升沿触发中断的问题????
1.想让PG12引脚配置成上升沿触发中断,按如下程序配置,PG12引脚并不能在在上升沿到来时产生中断,是不是配置问题,如果是,应该怎样配置?
2.把红色字体的配置去掉后:当PG12没接上拉电阻时,PG12为高时产生中断,并且一直持续到PG12为低,才不产生中断;当接上拉电阻时,中断在PG12的下降沿产生中断。不知道这是为什么??????????????

void InitPorts(void)
{
    *pPORTG_FER &= ~PG12; //配置PG12 管脚为IO 功能
*pPORTGIO_DIR &= ~PG12; //配PG12 管脚为输入
*pPORTGIO_INEN |= PG12; //配置PG12 管脚输入使能
*pPORTGIO_EDGE |= PG12; //配置为沿触发模式
*pPORTGIO_POLAR &= ~PG12; //配置为上升沿触发
*pPORTGIO_MASKA_SET |= PG12; //中断源采用Port F interrupt A
}

EX_INTERRUPT_HANDLER(FlagA_ISR1) //设置中断函数标志为FlagA_ISR
{
if((*pPORTGIO&PG12) == PG12)
     z=1;
}  


void Init_Interrupts1(void)
{

*pSIC_IAR5 = 0xfffffff5; //中断源PG12 中断等级IVG12,对应的值为5
register_handler(ik_ivg12, FlagA_ISR1);

*pSIC_IMASK1 = 0x00000100; //使能中断, 中断源PG 在SIC_IMASK1上对应的是bit8位,即第9个
}


夜空中最亮的星
等级:论坛新手 参考IP地址:*.*.*.*
2017/12/12 17:31:24
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5195
金钱:34806
积分:6378
注册时间:2011/6/7
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
什么处理器?还是518的问题?提问把信息给全啊,不要让我们猜。

我是OP...
等级:管理员 参考IP地址:*.*.*.*
2017/12/13 8:40:05
feelingliang(论坛新手)
feelingliang
头衔:社区公民
帮派:无帮无派
帖数:18
金钱:275
积分:27
注册时间:2017/9/14
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
不好意思,是BF518处理器

夜空中最亮的星
等级:论坛新手 参考IP地址:*.*.*.*
2017/12/13 10:15:12
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5195
金钱:34806
积分:6378
注册时间:2011/6/7
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
你的代码在触发中断后没清除中断,需要加入清除中断标志语句

我是OP...
等级:管理员 参考IP地址:*.*.*.*
2017/12/18 8:14:57
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159146 Call, 1 Queries, Processed in 0.015625 second(s),