請問18F4550的USB interrupt如何使用??
|
||||
---|---|---|---|---|
新會員
|
Dear All,
USB Democode裡面我加入了Timer interrupt的程式 結果發現如果USB在通訊的時候,發生中斷的話,PC端會秀出無法識別的裝置,仔細一看,PIR2有USBIF這個bit,那代表usb也可以用interrupt的方式來做囉?? 請問有哪位大大知道USB interrupt如何使用?? ;------------------------------------------------------------------- void main(void) { InitializeSystem(); TimerInital(); OpenLCD( ) ; putrsLCD("PIC18F4550 Test") ; while(1) { USBTasks(); // USB Tasks ProcessIO(); // See user\user.c & .h }//end while }//end main ;------------------------------------------------------------------- #pragma code isrhighcode = 0x0008 void isr_high_direct(void) { _asm //begin in-line assembly goto isr_high //go to isr_high function _endasm //end in-line assembly } #pragma code #pragma interrupt isr_high void isr_high(void) { INTCONbits.TMR0IF=0; WriteTimer0(0x16); if (TCOUNT>=100) { TCOUNT = 0; mLED_4_Toggle(); } else TCOUNT = TCOUNT+1; TCOUNT++; } #pragma code ;------------------------------------------------------------------- void TimerInital(void) { TCOUNT = 0; RCONbits.IPEN=1; INTCON2bits.TMR0IP=1; WriteTimer0(0x16); OpenTimer0(TIMER_INT_ON & T0_8BIT & T0_SOURCE_INT & T0_PS_1_256); INTCONbits.PEIE=1; INTCONbits.GIE=1; ;-------------------------------------------------------------------
發表於: 2005/9/23 11:35
|
|||
|