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