INCLUDE "MODEDEFS.BAS" DEFINE OSC 8 DEFINE HSER_BAUD 2400 ' BRZINA 2400 DEFINE HSER_RCSTA 90h ' OMOGUCI SERIJSKI PORT I KONTINUALAN PRIJEM DEFINE HSER_TXSTA 20h ' OMOGUCI SLANJE, BRGH = 0 DEFINE HSER_SPBRG 51 ' 2400 Baud @ 8MHz, 0,17% DEFINE HSER_CLROERR 1 ' RESI PREKORACENJE AUTOMATSKI USBBufferSizeMax con 18 ' Maksimalna velicina bafera USBBufferSizeTX con 18 ' Ulaz USBBufferSizeRX con 18 ' Izlaz 'USB baferi USBBuffer Var Byte[USBBufferSizeMax] USBBufferCount Var Byte test var byte ' POMOCNA PROMENLJIVA low portb.3 ' UGASI SIGNALNU LAMPICU RCSTA.7 = 1 TRISC.7 = 1 TRISC.6 = 1 usbinit ' INICIJALIZACIJA USB PORTA Pocetak: ProgramStart: gosub DoUSBIn goto ProgramStart 'Podprogram za citanje podataka sa PC-a DoUSBIn: USBBufferCount = USBBufferSizeRX ' Velicina RX bafera USBService ' Odrzi konekciju USBIn 1, USBBuffer, USBBufferCount, DoUSBIn ' Procitaj podatke If USBBuffer[0] = 254 Then hserout [dec usbbuffer[0]] Gosub DoUSBOut USBBuffer[0] = 0 ' ili nesto drugo, samo da bude razlicito od 254 Endif Return ' Podprogram za upis podataka na PC-u DoUSBOut: USBBufferCount = USBBufferSizeTX ' Velicina TX bafera USBService usbbuffer[0]=254 ' Resetuj promenljive uSBBuffer[1]=111 uSBBuffer[2]=111 uSBBuffer[3]=111 uSBBuffer[4]=111 uSBBuffer[5]=111 uSBBuffer[6]=111 uSBBuffer[7]=111 uSBBuffer[8]=111 uSBBuffer[9]=111 uSBBuffer[10]=111 uSBBuffer[11]=111 uSBBuffer[12]=111 uSBBuffer[13]=111 uSBBuffer[14]=111 uSBBuffer[15]=111 uSBBuffer[16]=111 test = 111 hserin [dec usbbuffer[1]] ' Unos u promenljive high portb.3 ' UPALI LAMPICU if usbbuffer[1]!=test then hserout [dec test] endif hserin [dec usbbuffer[2]] low portb.3 if usbbuffer[2]!=test then hserout [dec test] endif hserin [dec usbbuffer[3]] high portb.3 if usbbuffer[3]!=test then hserout [dec test] endif hserin [dec usbbuffer[4]] low portb.3 if usbbuffer[4]!=test then hserout [dec test] endif hserin [dec usbbuffer[5]] high portb.3 if usbbuffer[5]!=test then hserout [dec test] endif hserin [dec usbbuffer[6]] low portb.3 if usbbuffer[6]!=test then hserout [dec test] endif hserin [dec usbbuffer[7]] high portb.3 if usbbuffer[7]!=test then hserout [dec test] endif hserin [dec usbbuffer[8]] low portb.3 if usbbuffer[8]!=test then hserout [dec 111] endif hserin [dec usbbuffer[9]] high portb.3 if usbbuffer[9]!=test then hserout [dec test] endif hserin [dec usbbuffer[10]] low portb.3 if usbbuffer[10]!=test then hserout [dec test] endif hserin [dec usbbuffer[11]] high portb.3 if usbbuffer[11]!=test then hserout [dec test] endif hserin [dec usbbuffer[12]] low portb.3 if usbbuffer[12]!=test then hserout [dec test] endif hserin [dec usbbuffer[13]] high portb.3 if usbbuffer[13]!=test then hserout [dec test] endif hserin [dec usbbuffer[14]] low portb.3 if usbbuffer[14]!=test then hserout [dec test] endif hserin [dec usbbuffer[15]] high portb.3 if usbbuffer[15]!=test then hserout [dec test] endif hserin [dec usbbuffer[16]] low portb.3 ' UGASI SIGNALNU LAMPICU if usbbuffer[16]!=test then USBOut 1, USBBuffer, USBBufferCount, DoUSBOut ' Posalji podatke PC-u endif Return