Ma nije problem u terminal programu, ovaj sam ti preporucio da bi sebi olaksao zivot.
Sada sam malo detaljnije pogledao tvoj program za 4550. Tu si definisao da ti je oscilator 8 MHz. Kompajler na osnovu te definije izracunava sve ostale tajminge. Ne znam kakvi su ti konfig fjuzovi, prilikom programiranja, ali sam gotovo siguran da ti je klok samog uC dela razlicit od 8 MHz.... znas oni PLL multiplajeri, divizori i ostalo... Ja nisam radio USB sa ovim PICom, radio sam sa 18F14K50, pa nisam bas familijaran sa njim. Ako si omanuo u definiciji kloka, onda ono sto si ti napisao da je brzina serijske kom 2400 bps ne pije vodu uopste :-( .
Drugo sta sam primetio, stavio si da su USB baferi duzine 18 bajta, a cini mi se da treba da budu 8 * n, ali ako kazes da ti USB deo radi kako treba - onda mi se samo cini :-)
deo koda:
If USBBuffer[0] = 254 Then
hserout [dec3 usbbuffer[0]]
Gosub DoUSBOut
USBBuffer[0] = 0 ' ili nesto drugo, samo da bude razlicito od 254
Endif
Dodao sam ti ovu liniju, jer ako je jednom bilo 254 - ostace tako sve dok ne posaljes neku drugu vrednost sa PCja, znaci bice ti uslov uvek ispunjen, a ti si to poslao jos pre pola sata...
Sledeca primedba:
hserin [usbbuffer[0]]
if USBBuffer[0]=254 then
'Realizacija AD konverzije
hserin [usbbuffer[1]]
hserin [usbbuffer[2]]
hserin [usbbuffer[3]]
...
Ako sam dobro shvatio, ti ovde ocekujes podatke od PIC16F877. Mislim da to uopste ne moze ovako. Komanda HSERIN jednostavno proveri da li serijski bafer pun i ako ima nesto pokupi i stavi u tvoju promenljivu. Ako nema nicega jednostavno preleti preko tog dela (ili se vrti u petlji cekajuci da se nesto pojavi - nisam 100% siguran). Ako taj deo i prodje, ti posle toga odmah kupis narednih 16 bajtova, a to 'nece da moze' ... Moraces to nekako drugacije da osmislis, mozes da probas da koristis SERIN2 modifajere, gde ces cekati $FE (254) i posle toga puniti tvoj bafer. Imas i timeout lejblove itd, ali ti stvari dodatno komplikuje i odrzavanje USB konekcije :-( ... sto rece Pirotjanac - ne da Bog dva dobra zajedno nikako... da ti tuberkulozu za dzabe ... al' moras da kasljes :-).
Reci ti meni, koliko cesto vrsis prozivku sa PCja, pa da probamo nesto da osmislimo?
Pozdrav
73 de YU1OL