PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : serialout Buffer



PicNick
14.01.2005, 14:17
Hat sich schon jemand damit beschäftigt, wie ein mit BasCom programmierter Mega32 reagiert, wenn im Programm schneller die PRINT abgesetzt werden, als durch die Baudrate rausgehen ?
Offensichtlich müßte man den Füllungsgrad des Buffers irgendwie erkennen können und dann halt eine Pause einfügen, bis wieder Platz ist.
Wie gesagt, es geht nicht ums HW-Senderegister, sondern um den BasCom Buffer.
War schon irgendwer mit dieser Frage konfrontiert ?
mfg robert :-k

pebisoft
16.01.2005, 17:24
hallo nimm usr und setze den string zusammen. habe hier ein beispiel ohne kommentar.
mfg pebisoft

$regfile = "m16def.dat"
$crystal = 8000000
$baud = 19200

Dim I As Byte

Do
If Usr.rxc = 1 Then
I = Udr
Select Case I
Case "H"
Print "Hallo AVR"
Case "h"
Print "hallo avr"
Case Else
Print "Unbekannter Befehl"
End Select
End If
Loop
End

PicNick
17.01.2005, 07:27
Hi, Pebisoft ! Danke für die Antwort.
Beim INPUT stellt sich das Problem etwas anders bzw. einfacher.
Mir isses um den OUTPUT gegangen.
Solange PLatz im Buffer ist, will ich mich nicht um Registerstates etc kümmern, deswegen hab ich ja den Buffer.
Nur wenn der Buffer voll ist, muß ich mich einbremsen. Aber wo steht im Bascom sowas wie "Buffer-Overflow" ?
mfg robert