Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > Moin, moin allerseits! > > Ich bin gerade dabei, mich im Umgang mit der C-Control Mega 128 zu üben und habe dabei auch die > Funktionen der seriellen Schnittstelle mal ausprobiert. Das Beispielprogramm RS232_IRQ.cbas lief und > ich habe es dann ein wenig modifiziert - und bekam nur noch Garbage am Hyperterminal. > > <basic> > ' 105 byte Sende + 20 byte Empfungspuffer + 6 byte interne FIFO Verwaltung > Dim buffer(131) As Byte ' Array deklariert > > '------------------------------------------------------------------------------ > ' Hauptprogramm > ' > Sub main() > Dim Text1(40), Text2(5), ausgabe(80) As Char ' Array deklariert > > Text1="Test Text\r\n" > Text2="\r\n" > > ' Init RS232: 9600 bps, 8 Bit, 1 Stop, NP > ' 20 byte Empfangspuffer - 105 byte Sendepuffer > Serial_Init_IRQ(0,buffer,20,105,SR_8BIT Or SR_1STOP Or SR_NO_PAR,SR_BD9600) > > Serial_WriteText(0,Text2) ' CR und LF ausgeben > Serial_WriteText(0,Text1) ' Text über RS232 ausgeben > Serial_WriteText(0,Text2) ' CR und LF ausgeben > > ausgabe = "Hier kommt was aus dem Mikrocontroller raus, was sich der Henning aus" > Serial_WriteText(0,ausgabe) > Serial_WriteText(0,Text2) ' CR und LF ausgeben > > ausgabe = "dem Hirn gewrungen hat. Aber mit meinen schreiberischen Fähigkeiten war" > Serial_WriteText(0,ausgabe) > Serial_WriteText(0,Text2) ' CR und LF ausgeben > > ausgabe = "das ja noch nie was gewesen." > Serial_WriteText(0,ausgabe) > Serial_WriteText(0,Text2) ' CR und LF ausgeben > > </basic> > > Wenn ich ein > <basic> > AbsDelay(100) > </basic> > nach jeder Ausgabe eingefügt hatte, klappte der Code. Aber diese Art der Ausbremsung kann's ja > wohl nicht sein. Mit büschen Lesen in der Doku kam ich auf Serial_IRQ_Info(), die (wohl) angibt, wie > viele <b>nicht gesendete</b> Bytes im Sendepuffer sind. Wenn ich nun > <basic> > Do While Serial_IRQ_Info(0,RS232_FIFO_SEND)<>0 > End While > </basic> > zwischen die Ausgaben schreibe, ist die Bremse weg und es werden alle Zeichen sicher ausgegeben. > > Vielleicht hilft diese Information ja, wenn man mal mit langsameren Geschwindigkeiten auf der seriellen > Schnittstelle arbeiten will (oder muss). > > Hier noch einmal der endgültige Code. > <basic> > ' 105 byte Sende + 20 Empfungspuffer + 6 byte interne FIFO Verwaltung > Dim buffer(131) As Byte ' Array deklariert > > '------------------------------------------------------------------------------ > ' Hauptprogramm > ' > Sub main() > Dim Text1(40), Text2(5), ausgabe(80) As Char ' Array deklariert > > Text1="Test Text\r\n" > Text2="\r\n" > > ' Init RS232: 9600 bps, 8 Bit, 1 Stop, NP > ' 20 byte Empfangspuffer - 105 byte Sendepuffer > Serial_Init_IRQ(0,buffer,20,105,SR_8BIT Or SR_1STOP Or SR_NO_PAR,SR_BD9600) > > Serial_WriteText(0,Text2) ' CR und LF ausgeben > Serial_WriteText(0,Text1) ' Text über RS232 ausgeben > > Serial_WriteText(0,Text2) ' CR und LF ausgeben > > Do While Serial_IRQ_Info(0,RS232_FIFO_SEND)<>0 > End While > ausgabe = "Hier kommt was aus dem Mikrocontroller raus, was sich der Henning aus" > Serial_WriteText(0,ausgabe) > Serial_WriteText(0,Text2) ' CR und LF ausgeben > > Do While Serial_IRQ_Info(0,RS232_FIFO_SEND)<>0 > End While > ausgabe = "dem Hirn gewrungen hat. Aber mit meinen schriftstellerischen Fähigkeiten war" > Serial_WriteText(0,ausgabe) > Serial_WriteText(0,Text2) ' CR und LF ausgeben > > Do While Serial_IRQ_Info(0,RS232_FIFO_SEND)<>0 > End While > ausgabe = "das ja noch nie was gewesen." > Serial_WriteText(0,ausgabe) > Serial_WriteText(0,Text2) ' CR und LF ausgeben > > End Sub > </basic> > > Gruß Henning > >