您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> 请教关于PF口中断的问题
本帖共有808个阅读者
发表帖子 发表投票 回复主题
请教关于PF口中断的问题
taotaost(论坛新手)
taotaost
头衔:社区公民
帮派:无帮无派
帖数:16
金钱:244
积分:24
注册时间:2012/3/17
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
请教关于PF口中断的问题

在PF口中断的编程过程中,事先已经对*pFIO_INEN、*pFIO_DIR、*pFIO_EDGE、*pFIO_MASKA_D进行了设置,并且也在*pSIC_IARx中对中断等级进行了设定,最后也设置了*pSIC_IMASK,使能了外部中断,但是在编译下面这句话“register_handler(ik_ivg7, PF_Isr);”时,出现下面的错误: identifier "PF_Isr" is  undefined,这里PF_Isr这个名字不是自己起的吗,怎么成了未定义?

另外,在中断的那个新手教学视频里,在进行PF口的设置时,采用下面的方式,例如对*pFIO_INEN设置PF0、PF1输入使能时,写成:
*pFIO_INEN |= PF0|PF1;  为什么不直接写成 *pFIO_INEN = 0x0003;?  采用前者这种方式有什么好处吗?

达人告知啊,万分感谢!


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2012/4/5 15:26:56
尊贵身份标志
夜色飘摇(论坛版主)
夜色飘摇
头衔:社区公民
帮派:无帮无派
帖数:350
金钱:1773
积分:332
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

在函数前面需要加 EX_INTERRUPT_HANDLER(PF_Isr);

*pFIO_INEN |= PF0|PF1;  为什么不直接写成 *pFIO_INEN = 0x0003;

*pFIO_INEN |= PF0|PF1;这个语句是在对*pFIO_INEN寄存器的PF0和PF1置1的时候不会影响其他的位,但是*pFIO_INEN = 0x0003是在对PF0和PF1置1的时候把其他位置0了.


我要成为勇敢的海上战士!
等级:论坛版主 参考IP地址:*.*.*.*
2012/4/5 20:48:17
taotaost(论坛新手)
taotaost
头衔:社区公民
帮派:无帮无派
帖数:16
金钱:244
积分:24
注册时间:2012/3/17
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
2楼的意思是:在函数register_handler(ik_ivg7, PF_Isr); 前面需要加 EX_INTERRUPT_HANDLER(PF_Isr); 先声明一下?

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2012/4/5 20:53:43
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159303 Call, 1 Queries, Processed in 0.015625 second(s),