INCLUDE "MODEDEFS.BAS" DEFINE OSC 8 'DEFINE LOADER_USED 1 DEFINE HSER_BAUD 2400 'DEFINE ADC_CLOCK 1 'DEFINE ADC_BITS 10 'DEFINE ADC_SAMPLEUS 50 'SYMBOL LF=$0A CMCON=$07 ADCON1=%00001111 ADCON2 = %10100001 TRISA=%00110111 TRISB=%01111101 TRISC=%10010100 TRISD=%10010100 TRISE=%00000000 USBBufferSizeMax con 18 ' Maksimalna velicina bafera USBBufferSizeTX con 18 ' Ulaz USBBufferSizeRX con 18 ' Izlaz i var byte 'USB baferi USBBuffer Var Byte[USBBufferSizeMax] USBBufferCount Var Byte usbinit 'inicijalizacija USB-a 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 [dec3 usbbuffer[0]] Gosub DoUSBOut USBBuffer[0] = 0 ' ili nesto drugo, samo da bude razlicito od 254 Endif Return 'Podprogram za upis podatana na PC-u DoUSBOut: USBBufferCount = USBBufferSizeTX 'Velicina TX bafera USBService 'resetuj promenljive usbbuffer[0]=254 uSBBuffer[1]=444 uSBBuffer[2]=444 uSBBuffer[3]=444 uSBBuffer[4]=444 uSBBuffer[5]=444 uSBBuffer[6]=444 uSBBuffer[7]=444 uSBBuffer[8]=444 uSBBuffer[9]=444 uSBBuffer[10]=444 uSBBuffer[11]=444 uSBBuffer[12]=444 uSBBuffer[13]=444 uSBBuffer[14]=444 uSBBuffer[15]=444 uSBBuffer[16]=444 'posalji odgovor 'Unos u promenljive pause 100 hserin [dec3 usbbuffer[1]] if usbbuffer[1]!=444 then hserout ["444"] endif hserin [dec3 usbbuffer[2]] if usbbuffer[2]!=444 then hserout ["444"] endif hserin [dec3 usbbuffer[3]] if usbbuffer[3]!=444 then hserout ["444"] endif hserin [dec3 usbbuffer[4]] if usbbuffer[4]!=444 then hserout ["444"] endif hserin [dec3 usbbuffer[5]] if usbbuffer[5]!=444 then hserout ["444"] endif hserin [dec3 usbbuffer[6]] if usbbuffer[6]!=444 then hserout ["444"] endif hserin [dec3 usbbuffer[7]] if usbbuffer[7]!=444 then hserout ["444"] endif hserin [dec3 usbbuffer[8]] if usbbuffer[8]!=444 then hserout ["444"] endif hserin [dec3 usbbuffer[9]] if usbbuffer[9]!=444 then hserout ["444"] endif hserin [dec3 usbbuffer[10]] if usbbuffer[10]!=444 then hserout ["444"] endif hserin [dec3 usbbuffer[11]] if usbbuffer[11]!=444 then hserout ["444"] endif hserin [dec3 usbbuffer[12]] if usbbuffer[12]!=444 then hserout ["444"] endif hserin [dec3 usbbuffer[13]] if usbbuffer[13]!=444 then hserout ["444"] endif hserin [dec3 usbbuffer[14]] if usbbuffer[14]!=444 then hserout ["444"] endif hserin [dec3 usbbuffer[15]] if usbbuffer[15]!=444 then hserout ["444"] endif hserin [dec3 usbbuffer[16]] pause 100 if usbbuffer[16]!=444 then USBOut 1, USBBuffer, USBBufferCount, DoUSBOut 'Posalji podatke PC-u endif Return