void key_irq(void *context,unsigned long id) { OS_CPU_SR cpu_sr; OS_ENTER_CRITICAL(); OSIntNesting++; OS_EXIT_CRITICAL(); if(OSIntNesting==1) { OSTCBCur->OSTCBStkPtr = SP;
usleep(10000); if(IORD_ALTERA_AVALON_PIO_DATA(PIO_KEY_BASE)) { IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE,0x0e); usleep(1000000); IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE,0x03); usleep(1000000); } IOWR_ALTERA_AVALON_PIO_IRQ_MASK(PIO_LED_BASE,1); OSIntExit(); }
以上写的对不对,SP怎么赋值,直接写SP好像不对,要先定义,蓝色是用户代码,现在有问题,不知道中断函数写的对不?
|