你好 ,我现在用2300开发板写些基础的模块,中断不能产生,为什么 ? void TASK0 (void *pdata) { pdata = pdata;
///////按键1中断初始化//////////////////// VICIntEnClr=0xffffffff; PINSEL0=0x00000000; IO0IntClr=0xffffffff; FIO0DIR=BEEPCON; PINMODE0=0x00; PINMODE1=0x00; VICVectPri17=0; VICVectAddr17=(unsigned int)IO_ISR; IO0IntStatR=0x00000000; IO0IntStatF=0x00000040; VICIntEnable = 1 << 17;
//IRQ_Init(GPIO_INT,1,(uint32)IO_ISR); //////////////////////////////////////
if (OPERATE_FAIL == SspInit(SSP0, (char *)sspArg, NULL)) // SSP0初始化 { // 出错处理 while (1); } if (0 == SetVICIRQ(SSP0_IRQ_CHN, 8, (uint32)SSP0_ISR)) // 设置中断 { // 出错处理 while (1); } while (1) { uint32 i; uint8 sndDat; uint8 rcvDat; // 流水灯演示 for(i = 0; i < (sizeof(DISP_TAB) / sizeof(DISP_TAB[0])); i++) { sndDat = DISP_TAB; SspWrite(SSP0, &sndDat, 1, NULL); OSTimeDly(OS_TICKS_PER_SEC / 5); SspRead(SSP0, &rcvDat, 1, NULL); // 可在此设置断点观察回读的数据 } } } 我只是借用task0,里面的灯演示我没用,看我的中断设置,对吗 , void IO_ISR(void) { if((IO0IntStatF&0x00000040)!=0) {
} IO0IntClr=0xffffffff; VICVectAddr=0x00; } 这是我的中断程序,我想法按下按键1,产生中断到中断服务程序IO_ISR,但是现在没有产生,为什么。 还有中断服务程序加上 __irq就报错,不加编译正常,为什么 我是在ucos-II的例子中直接添加的代码, 能不能提供,标准的移植好2388的UCOS-ii的程序,不要初始化代码如流水灯,等。 如何能获取你们的UDP/IP的协议栈? 还有你们的服务期限是一年,从什么时候开始算 我的联系电话:0451-86268701转8223 ** 谢谢 |