打印
[ZLG-ARM]

请教两个中断的用法(急!)

[复制链接]
1616|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tsstchip|  楼主 | 2007-3-28 15:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
平台:EasyArm2131+LPC2142Pack

问题:使用2142的TIMER和USB功能,采用中断方式。请大家帮忙看看以下的初始化代码对不对。因为我这么写以后,USB传输的数据不对了。怀疑是中断设得不对,因为单独用USB传数据或者用TIMER的话没问题的。

//USB 初始化程序,USB中断被分配到slot1,优先级为1
void Init_USBInterrupt(void)
{
    VICIntSelect = 0x00000000;                                // 设置所有中断分配为IRQ中断     
    VICVectCntl1 = (0x20 | 22);                                /* USB中断分配到中断向量1 */
       VICVectAddr1 = (INT32U)Usb_Exception;                    /* USB中断服务程序地址 */
       VICIntEnable = 1 << 22;                                    /* 使能USB中断 */
}

//TIMER0 初始化程序,Timer0中断被分配到slot0,优先级为0,中断向量号查看上册P109
void Init_Timer0Interrupt(void)
{
    VICIntSelect = 0x00000000;                                // 设置所有中断分配为IRQ中断 
    VICVectCntl0 = (0x20 | 4);                                /* Timer0中断分配到中断向量0 */
       VICVectAddr0 = (INT32U)Timer0_ISR;                        /* Timer0中断服务程序地址 */
       VICIntEnable = 1 << 4;                                    /* 使能Timer0中断 */    
}

相关帖子

沙发
zlgARM| | 2007-3-29 09:00 | 只看该作者

tsstchip

    如果单独调试,中断没有问题,初始化就没问题。两个模块联调出问题的话,原因多半出在彼此之间的冲突上,单步调试一下,看看初始化、中断等是否有冲突处,这些冲突对您预期的结果的影响。

使用特权

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

本版积分规则

5

主题

17

帖子

0

粉丝