共2条
1/1 1 跳转至页
ZLG,EINT0 请教ZLG关于EINT0

问
我要用到中断0高电平有效,我先设置了
PINSEL1=(PINSEL1&0xFFFFFFFC)|0x01;
EXTMODE=EXTMODE&0x0E;
EXTPOLAR=EXTPOLAR|0x01;
// EXTPOLAR=EXTPOLAR|0x00;
再进行中断设置
VICVectCntl1 = (0x20 | 0x0E); //EINT0通道分配到IRQ slot 1
VICVectAddr1 = (INT32U)USB_Handler; //设置EINT0向量地址
VICIntEnable = 1 << 14; //允许EINT0
我的中断响应程序是这样的
void USB_Exception(void)
{
uint8 i;
OS_ENTER_CRITICAL();
XXX; '必要处理
EXTINT=0x01;
VICVectAddr=0x00
OS_EXIT_CRITICAL();
}
请问这样作法是否正确?为什么我在调试时不管设成高电平有效还是低电平有效,中断响应程序都会不停的响应? 答 1: 补充我用的开发板是EASYARM2200,谢谢!!! 答 2: 你可以选跑跑我们外部中断的例子啊。 答 3: 找不到例子里没有中断0的啊 答 4: re:hubert1974你在调试中断的时候,不要打开memory表! 答 5: memory表是什么?还是没有调通,不知道goodguy所说的memory表,请教下goodguy怎么把memory表关掉? 答 6: 结贴!我在中断处理中去掉下面两句就OK了,希望对遇到同样问题的有帮助
OS_ENTER_CRITICAL();
OS_EXIT_CRITICAL();
PINSEL1=(PINSEL1&0xFFFFFFFC)|0x01;
EXTMODE=EXTMODE&0x0E;
EXTPOLAR=EXTPOLAR|0x01;
// EXTPOLAR=EXTPOLAR|0x00;
再进行中断设置
VICVectCntl1 = (0x20 | 0x0E); //EINT0通道分配到IRQ slot 1
VICVectAddr1 = (INT32U)USB_Handler; //设置EINT0向量地址
VICIntEnable = 1 << 14; //允许EINT0
我的中断响应程序是这样的
void USB_Exception(void)
{
uint8 i;
OS_ENTER_CRITICAL();
XXX; '必要处理
EXTINT=0x01;
VICVectAddr=0x00
OS_EXIT_CRITICAL();
}
请问这样作法是否正确?为什么我在调试时不管设成高电平有效还是低电平有效,中断响应程序都会不停的响应? 答 1: 补充我用的开发板是EASYARM2200,谢谢!!! 答 2: 你可以选跑跑我们外部中断的例子啊。 答 3: 找不到例子里没有中断0的啊 答 4: re:hubert1974你在调试中断的时候,不要打开memory表! 答 5: memory表是什么?还是没有调通,不知道goodguy所说的memory表,请教下goodguy怎么把memory表关掉? 答 6: 结贴!我在中断处理中去掉下面两句就OK了,希望对遇到同样问题的有帮助
OS_ENTER_CRITICAL();
OS_EXIT_CRITICAL();
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
“我踩过的那些坑”主题活动——第002期 | |
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |