Hallo Leute, gibt es eine Möglichkeit die Pufferstände der SER-Kanäle auszuhorchen. BASCOM und Mega32 Open "COMA.5:2400,8,n,1,puffered(10)" For Input As #2 ' Kanal öffnen Open "COMA.6:2400,8,n,1,puffered(10)" For Output As #3 ' Kanal öffnen Danke für Infos. Gruss Kurt
max power schrieb: >>SER-Kanä Serielle Kanäle Ich kann zwar das ev. empfangene Zeichen einlesen, auf Null abfragen, jedoch ist dann ungewiss ob es ein echtes Zeichen war oder doch nur ne -Null-. Bei den Hardware-UARTs geht das, da kann man schauen ob mindestens ein Zeichen im Puffer vorhanden ist(ischarwaiting), jedoch bei den Softwareschnittstellen find ich keinen Befehl. Am liebsten wär mir die Abfragemöglichkeit wieviel Zeichen noch im Puffer vorhanden sind. Naja, da müsste man halt erst den Befehl kennen. Gruss Kurt
>Bei den Hardware-UARTs geht das, da kann man schauen ob mindestens ein >Zeichen im Puffer vorhanden ist der atmega8 hat nur einen 8bit buffer da passt nur ein zeichen rein. >jedoch bei den Softwareschnittstellen find ich keinen Befehl. unter softwareschnittstelle verstehe ich eine schnittstelle die in software nachgebildet wird. also meinst du uart in software oder eine ganz andere schnittstelle.
Hallo @ max power >>Bei den Hardware-UARTs geht das, da kann man schauen ob mindestens ein > >>Zeichen im Puffer vorhanden ist > > der atmega8 hat nur einen 8bit buffer da passt nur ein zeichen rein. > Und darum stellt BASCOM Puffer bereit damit keine Zeichen verloren gehen. > >>jedoch bei den Softwareschnittstellen find ich keinen Befehl. > > unter softwareschnittstelle verstehe ich eine schnittstelle die in > software nachgebildet wird. > also meinst du uart in software oder eine ganz andere schnittstelle. Software, durch Software (Compiler) nachgebildete "Hardware" Der Einrichtbefehl für einen Eingang ist z.B. dieser: Open "COMA.5:2400,8,n,1,puffered(10)" For Input As #2 Da wird eine rein auf SW basierte Schnittstelle eingerichtet und verwaltet. Und ich weiss halt nicht wie ich die Anzahl der im Puffer eingelegten Bytes zu Gesicht bekomme. Gruss Kurt
>Und darum stellt BASCOM Puffer bereit damit keine Zeichen verloren >gehen. zwischen 2 bytes die empfangen werden ist normalerweise massig zeit um das byte abzuholen zu verarbeiten und sich auf das nächste byte vorzubereiten. >Und ich weiss halt nicht wie ich die Anzahl der im Puffer eingelegten >Bytes zu Gesicht bekomme. sorry ich kann die da leider nicht helfen, da braucht es welche die sich auch mit bascom auskennen. in der hilfe/anleitung zu bascom hast du sicherlich schon geschaut?
Versuche es mal mit BUFSPACE. Dim Horst as Byte Horst = BufSpace(1) Print "MfG Paul"
Paul Baumann schrieb: > Versuche es mal mit BUFSPACE. > > Dim Horst as Byte > > Horst = BufSpace(1) > Hab ich versucht, funktioniuert bei den Hardw UARTS, jedoch nicht bei den Softis. Da kommt immer das letzt gesendete Zeichen der Hard-UART @ Die Beschreibung bin ich schon dreimal rauf und runter durchgerannt. Werd man beim Bascom-Hersteller vorstellig werfen. Gruss Kurt
und sowas..Ischarwaiting(xx) mit channel angabe ? If Ischarwaiting(2) = 1 Then
Düsentrieb schrieb: > und sowas..Ischarwaiting(xx) mit channel angabe ? > > If Ischarwaiting(2) = 1 Then Funktioniert nur bei den HW-UARTs Gruss Kurt
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.