Evo kratkog opisa problema koji pokusavam da resim.
Radi si o Mikrokontroleru PIC16F877A i PIC Basic PRO i VB 6. Projekat je Voltmetar - Komparator. Hardver radi i na terminalu dobijam napone medjuti problem je sto jedino znam i mogu da napone izracunam (ne precisno) u samom mikrokontroleru i da onda uz pomoc HSEROUT rezultat dobijem u Visual Basicu 6. Sve to radi ali je ideja sledeca...
Radi se o desetobitnoj A/D konverziji.
Da u samom mikrokontroleru dobijem napone recimo U1= x i U2=y da onda preko RS232 x i y (a ne obe promenjive istovremeno kako sad program radi) prenesem jednu po jednu vrednost u Napon1 i Napon2 respektivno u VB6 i da onda odredjenim kolicnikom dobijem realni napon sa minimalnim faktorom greske.
Napone u samom mikrokontroleru imam recimo x=200 i y=100 prikazano u terminal preko HSEROUT. Moje pitanje je kako uz pomoc PIC Basica PRO da prvo posaljem vrednost x u promenjivoj Napon1 pa onda y u pr. Napon2.
Mozda cu da budem jasniji ako vidite sta kod trenutno radi.
DEFINE LOADER_USED 1 'Enable TX and RX with baud rate of 2400
DEFINE HSER_CLROERR 1 'Clear overflow automatically
PAUSE 100
NAPON11 VAR byte
NAPON12 VAR BYTE
NAPON21 VAR BYTE
NAPON22 VAR BYTE
AD_Rez2 var word ' Rezultat AD konverzije
AD_Rez1 var word
TRISA = %11111111 ' Port A je ulazni
TRISC = %00000000
ADCON1 = %10000010 ' Port A je u analognom modu, 0 i 5V su
Main: ADCIN 2, AD_Rez2 ' Izvrsi konverziju na RA2 i 16 bita
' rezultata smesti u AD_Rez.
ADCIN 1, AD_Rez1
NAPON11 = (AD_Rez2)/17 ' Delim rezultat sa 17 kako bih priblizno dobio realnu vrednost
NAPON12 = (AD_Rez2)//17
NAPON21 = (AD_Rez1)/17 ' Delim ostatak sa 17 kako bih dobio decimalnu vrednost
NAPON22 = (AD_Rez1)//17
NAPON12=NAPON12/10 ' Delim decimalnu vrednost kako bih dobio jednu stabilnu civru posle decimale..
NAPON22=NAPON22/10
GOSUB PRIKAZI4
Goto MaiN
END
PRIKAZI4
HSEROUT["U1=",DEC NAPON11,".",DEC NAPON12," V U2=",DEC NAPON21,".",DEC NAPON22," V",13]
Pause 100
RETURN
kao sto vidite u podprogramu PRIKAZI4 saljem oba napona i prikazujem ih u jednom Text1.Text u VB6. Kako da to odradim da promenjive AD_Rez2 i AD_Rez3 posljam u promenjive Napon1 i Napon2 u VB6 a onda je lako.
Hvala unapred
R