Device = 18F2550
XTAL = 48
USB_DESCRIPTOR = "USBProjectDESC.inc"
Symbol USBBufferSizeMax = 8
Symbol USBBufferSizeTX = 8
Symbol USBBufferSizeRX = 8
Dim USBBuffer[USBBufferSizeMax] As Byte
Dim PP0 As Byte SYSTEM ' USBPOLL status return
Symbol CARRY_FLAG = STATUS.0 ' high if microcontroller does not have control over the buffer
Symbol ATTACHED_STATE = 6 ' is USB attached
TRISB = %00000000
GoSub AttachToUSB
ProgramLoop:
USBBuffer[2] = PORTA
USBOut 1, USBBuffer, USBBufferSizeTX
USBIn 1, USBBuffer, USBBufferSizeRX, ProgramLoop
PORTB = USBBuffer[3]
GoTo ProgramLoop
DoUSBIn:
USBIn 1, USBBuffer, USBBufferSizeRX, DoUSBIn
Return
DoUSBOut:
USBOut 1, USBBuffer, USBBufferSizeTX, DoUSBOut
Return
AttachToUSB:
Repeat
USBPoll
Until PP0 = ATTACHED_STATE
Return