RS-232 uilezen met Qbasic

Sep 10, 2003 4 Replies

Ik heb een Pic 16f876 geprogrammeerd die een A/D waarde naar de RS-232 stuurt (waarde tussen 0 en 1024) Nu wil ik via QBasis (Via een oude labtop ) de RS-232 uitlezen. wie kan mij helpen aan een programmatje in QBasic .


Groetjes Thijs Berkers.


Enkele van de huisregels binnen de nl-hierarchie (de nieuwsgroepen die beginnen met "nl.") luiden:

o Berichten mogen geen binary's bevatten. Je dient je bericht in platte tekst op te stellen. Dus berichten in HTML-formaat zijn ook niet toegestaan.

o Als je wilt dat je bericht in meerdere groepen verschijnt, dien je het te crossposten. Praktisch gezien zijn crosspostings naar meer dan vijf groepen meestal onzinnig en ongewenst.

Grtz, Emile

Heb je niets aan terminal programma's zoals Procomm, Term95 (van Norton)? Die laten zien wat er op een poort binnenkomt in HEX of ASCII.

Groeten, Sharief.

dat kan niet lastig zijn , alleen nooit veel met qbasic gedaan. kijk eens in de handleiding naar "open, input, print" let wel op er zijn 2 versies van print & input. je kan ook nog zoeken naar "get, put"

dan moet je zelf wel wat kunnen maken.

"mpb" schreef in bericht news: snipped-for-privacy@news-ext.oce.nl...

Hier heb je een progje dat ik in een grijs verleden eens geschreven heb om een metertje uit te lezen.

'Seri?le communicatie voor "FINEST" meter model 3487A ' J.T. van Es NIKHEF-K Amsterdam

'Init OPEN "com1:300,n,7,1,rs,cs,ds,cd" FOR RANDOM AS #1 COM(1) ON: nulcar$ = CHR$(0): poging = 0: CLS

start: PRINT PRINT "Druk op een toets om een uitlezing te krijgen of Q om te stoppen." tmp$ = INPUT$(1): IF UCASE$(tmp$) = "Q" THEN END poging = poging + 1: PRINT "Poging "; poging; " ";

'Vijf caracters binnen halen tel = 0 DO PRINT #1, nulcar$ FOR tmp = 1 TO 50: NEXT incar = LOC(1) tel = tel + 1 IF tel > 25 THEN PRINT "Het instrument geeft geen gehoor.": END LOOP UNTIL incar >= 5 PRINT "aantal uitgezonden nulcars="; tel

'Binnen gehaalde caracters uit het inputbuffer vissen en bewerken. Datain: Range$ = INPUT$(1, #1) D3$ = INPUT$(1, #1): D2$ = INPUT$(1, #1) D1$ = INPUT$(1, #1): D0$ = INPUT$(1, #1) waarde = VAL(D0$ + D1$ + D2$ + D3$) IF waarde > 5000 THEN waarde = -1 * (10000 - waarde) PRINT "Range="; Range$, "Waarde="; waarde * 10 ^ (VAL(Range$) - 4) incar = LOC(1) IF incar > 5 THEN GOTO Datain IF incar > 0 THEN tmp$ = INPUT$(incar, #1) PRINT "Aantal caracters in de input buffer= "; incar; " zijnde: "; tmp$ GOTO start

Hans

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required