Code:
' Name        : Coin_Internet_CDC.pbp' Compiler    : PICBASIC PRO Compiler 2.6
' Assembler   : PM or MPASM
' Target PIC  : PIC18F4550 
' Hardware    : Easypic6 Experimenter Board
' Oscillator  : 4MHz external crystal (only???)
' Thanks      :  To Henrik, and other PBP experts 
' Description : PICBASIC PRO program to show virtual serial comm. Working


asm
   __CONFIG    _CONFIG1L, _PLLDIV_1_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L   
    __CONFIG    _CONFIG1H, _FOSC_HSPLL_HS_1H & _FCMEN_OFF_1H & _IESO_OFF_1H
    __CONFIG    _CONFIG2L, _PWRT_ON_2L & _BOR_ON_2L  & _BORV_2_2L  & _VREGEN_ON_2L   
    __CONFIG    _CONFIG2H, _WDT_OFF_2H 
    __CONFIG    _CONFIG3H, _MCLRE_ON_3H & _LPT1OSC_OFF_3H & _PBADEN_OFF_3H & _CCP2MX_ON_3H 
    __CONFIG    _CONFIG4L, _STVREN_ON_4L & _LVP_OFF_4L & _ICPRT_OFF_4L  & _XINST_OFF_4L & _DEBUG_OFF_4L 
    endasm
DEFINE    OSC 48
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 0
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 5
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 4
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50
PAUSE 100 
Include    "cdc_desc.bas"    ' Include the HID descriptors  
Buffer    VAR BYTE[10]
Buffer2    VAR BYTE[10]
Cnt       VAR BYTE


b0   var byte
B1   VAR BYTE   ' Working buffer 1 for button command
sel   VAR BYTE   ' Working buffer 2 for button command
B3   VAR BYTE   ' Working buffer 3 for button command
i    var byte
Clear        ' Clear buffers


INTCON2.7 = 0        ' Enable PORTB pull-ups
TRISB = 110000          ' Enable all buttons
ADCON1 = 15               ' Set all I/Os to Digital      


CMCON = 7                 ' Disable Comparators
Cnt = 5
i = 0
'****************************************************
TRISA.4 = 1 ' RA4/T0CKI = input to TMR0 counter
TRISA.0 = 0 ' RA0 = output for LED
CMCON = 7   ' All digital 


'If you prefer, then increment on low-to-high transitions
T0CON   = %11111000    


'*****************************************************
USBInit                   ' Initialize USART
' Main Program Loop
Loop1:
Lcdout $fe, 128, "Counter: ", #i 
USBService ' Must service USB regularly
TMR0L = 0     ' Clear TMR0 count before start   
'**************ADDED COde
'gosub usbtx
'**************************** 
'goto Loop1


Loop2:
    USBService
    WHILE TMR0L = 0 ' Wait for high-to-low transition 
    USBService       
    WEND           ' on RA4/T0CKI
    pause 5
    PORTB.0 = 1    ' LED on to indicate transition seen 
    i=i+1       ' Clear screen
    USBService
    buffer[0] = 49
    Buffer[1] = 13       
    USBOut 3, Buffer, cnt,Loop2
    Lcdout $fe, 128, "Counter: ", #i   
    'PAUSE 30
    PORTB.0 = 0    ' LED off
    goto Loop1
Hi mackrackit, the above code works. Now what I'm trying to do is add a ntoher line of code to send "c" in the main loop but I can not seem to make it work.

Code:
asm   __CONFIG    _CONFIG1L, _PLLDIV_1_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L   
    __CONFIG    _CONFIG1H, _FOSC_HSPLL_HS_1H & _FCMEN_OFF_1H & _IESO_OFF_1H
    __CONFIG    _CONFIG2L, _PWRT_ON_2L & _BOR_ON_2L  & _BORV_2_2L  & _VREGEN_ON_2L   
    __CONFIG    _CONFIG2H, _WDT_OFF_2H 
    __CONFIG    _CONFIG3H, _MCLRE_ON_3H & _LPT1OSC_OFF_3H & _PBADEN_OFF_3H & _CCP2MX_ON_3H 
    __CONFIG    _CONFIG4L, _STVREN_ON_4L & _LVP_OFF_4L & _ICPRT_OFF_4L  & _XINST_OFF_4L & _DEBUG_OFF_4L 
    endasm
DEFINE    OSC 48
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 0
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 5
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 4
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50
PAUSE 100 
Include    "cdc_desc.bas"    ' Include the HID descriptors  
Buffer    VAR BYTE[10]
Buffer2    VAR BYTE[10]
Cnt       VAR BYTE


b0   var byte
B1   VAR BYTE   ' Working buffer 1 for button command
sel   VAR BYTE   ' Working buffer 2 for button command
B3   VAR BYTE   ' Working buffer 3 for button command
i    var byte
Clear        ' Clear buffers


INTCON2.7 = 0        ' Enable PORTB pull-ups
TRISB = 110000          ' Enable all buttons
ADCON1 = 15               ' Set all I/Os to Digital      


CMCON = 7                 ' Disable Comparators
Cnt = 5
i = 0
'****************************************************
TRISA.4 = 1 ' RA4/T0CKI = input to TMR0 counter
TRISA.0 = 0 ' RA0 = output for LED
CMCON = 7   ' All digital 


'If you prefer, then increment on low-to-high transitions
T0CON   = %11111000        


'*****************************************************


USBInit                   ' Initialize USART




' Main Program Loop
Loop1:
Lcdout $fe, 128, "Counter: ", #i 
USBService ' Must service USB regularly
TMR0L = 0     ' Clear TMR0 count before start   
'**************ADDED COde
gosub usbtx   ' transmit character c to pc
'**************************** 
Loop2:
    USBService
    WHILE TMR0L = 0 ' Wait for high-to-low transition 
    USBService       
    WEND           ' on RA4/T0CKI
    pause 5
    PORTB.0 = 1    ' LED on to indicate transition seen 
    i=i+1       ' Clear screen
    USBService
    buffer[0] = 49
    Buffer[1] = 13       
    USBOut 3, Buffer, cnt,Loop2
    Lcdout $fe, 128, "Counter: ", #i   
    'PAUSE 30
    PORTB.0 = 0    ' LED off
    goto Loop1   
    
usbtx:
USBService
Buffer2[0] = 99
Buffer2[1] = 13       
USBOut 3, Buffer2, cnt,usbtx
return
The above code I use to attempt sending to pc...BTW I dont know what happened (T0CON = %11111000 and ADCON1 = %00001111) to the bits (but I think I did not alter it).

thanks,
tacbanon