Well I tried it at work with a 18F4458 and still couldn't get it to connect. I verified my hardware setup was good by loading the code with the timer interrupt and that works fine.
Here is my complete program:
Code:
'***************************************************************************************
' Title: USB CDC and DT_INTS Testing
' CPU: 18F4458
' Clock: 20 MHz External Clock
'
'****************************************************************************************
ASM
__CONFIG _CONFIG1L, _PLLDIV_5_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L
__CONFIG _CONFIG1H, _FOSC_ECPLLIO_EC_1H & _FCMEN_OFF_1H & _IESO_OFF_1H
__CONFIG _CONFIG2L, _PWRT_OFF_2L & _BOR_ON_2L & _BORV_2_2L & _VREGEN_ON_2L
__CONFIG _CONFIG2H, _WDT_OFF_2H & _WDTPS_512_2H
__CONFIG _CONFIG3H, _CCP2MX_ON_3H & _PBADEN_OFF_3H & _LPT1OSC_OFF_3H & _MCLRE_OFF_3H
__CONFIG _CONFIG4L, _STVREN_ON_4L & _LVP_OFF_4L & _XINST_OFF_4L & _DEBUG_OFF_4L
ENDASM
DEFINE OSC 48
DEFINE NO_CLRWDT 1
DEFINE USB_BUS_SENSE PORTD,3
INCLUDE "cdc_desc.bas"
INCLUDE "DT_INTS-18.bas"
'---[Interrupts List]---
ASM
INT_LIST macro ;Source, Label, Type, ResetFlag?
INT_Handler USB_INT, USBServiceISR, ASM, yes
endm
INT_CREATE
ENDASM
goto InitChip
'----[Interrupt handler -- Service USB]--------------------------------------------------
ASM
USBServiceISR:
USBSERVICE
INT_RETURN
ENDASM
'---[Initialize Chip]--------------------------------------------------------------------
InitChip:
PAUSE 100
USBINIT
USBSERVICE
UIE = $7F
UEIE = $9F
PAUSE 500
USBINIT
USBSERVICE
@ INT_ENABLE USB_INT
USBSERVICE
PORTA = 0
PORTB = 0
PORTC = 0
PORTD = 0
PORTE = 0
'setup port i/o
TRISA = %00000000
TRISB = %11111111
TRISC = %00110000
TRISD = %00001000
TRISE = %00000000
'all dig
ADCON1 = %00001111
'enable port b pullups
INTCON2.7 = 0
Main:
goto Main
end
Bookmarks