Hallo da draußen,
ich habe ein Board mit einem ATMega1284 unter BASCOM...9.9. Es funktioniert soweit auch alles.
Jetzt habe ich einen SoftUart #5 ist mit  
	Code:
	Open "comd.4:9600,8,N,1" For Input As #5
 initialisiert.
Wenn ich im Hauptprogramm eine Abfrage der Seriellen Schnittstelle mit inkey(#5) mache, funktioniert diese nur manchmal. 
Baudrate, RS232-Treiber-IC,  Terminal-Einstellungen etc. sind in Ordnung, es geht ja auch, aber eben nur manchmal.
Der Code in der Do - Loop - Haupt-Schleife:
	Code:
	Do
  If Inkey(#5) <> 0 Then    ' Zeichen da ?
    Print #6 , "Zeichen da!"
  Else
    Print #6 , ".";
  End If
  waitms 10
loop
 Wenn ich Daten über das Terminal an #5 schicke werden diese nur manchmal erkannt (="Zeichen da!"). Meist wird jedoch der Tastendruck ignoriert und das Programm sendet ein ".". 
Je häufiger bzw. schneller ich die inkey()-Abfrage mache, durch verkleinern der wait-Zeit, desto höher die "Trefferrate". 
Dem Handbuch nach ist inkey() die einzige Möglichkeit bei einm Soft-Uart 'rauzubekommen, ob ein Zeichen angekommen ist. Input #5 kann ich nicht machen, da das Programm dann an der Abfrage wartet.
Das Daten-Eingangsregister des Soft-Uarts scheint von irgend jemandem überschrieben zu werden, oder gibt es so etwas wie ein "Receiver-Ready-Flag"
Hat jemand eine Erklärung?
Vielen Dank
Otto Richter
						
					
Lesezeichen