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 > Hallo Forum > > Habe folgendes Problem mit den RS232 Schnittstellen. > Es soll von einem Gerät ein Protokoll ausgeleden (COM0) und an der zweiten (COM1) ausgegeben werden. > Es ist nur möglich einen Baud von 19200 ohne Steuermöglichkeit einzustellen. > Sendevorgang auslösen und eine Protikolldatei mit ca.850 Zeichen (inklusive Steuerzeichen) wird gesendet. > wird später ein Unterprogramm: > > byte buffer0[255]; > byte buffer1[255]; > > //------------------------------------------------------------------------------ > // Hauptprogramm > // > void main(void) > { > byte count; > byte sz; > > while(true) //Endlosschleife nur zum testen > { > > Serial_Init_IRQ(0,buffer0,240,10,SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD19200); > Serial_Init_IRQ(1,buffer1,10,240,SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD19200); > > count=Serial_IRQ_Info(0,RS232_FIFO_RECV); > > while(count!=0) > { > sz=Serial_ReadExt(0); > Serial_Write(1,sz); > count=Serial_IRQ_Info(0,RS232_FIFO_RECV); > } > } > } > > Leider geht das Programm so nicht. Es werden nur einige zeichen gesendet der rest fehlt oder ist an der > falschen Stelle. (test über Hyperterminal) > Wird ein Thread_Delay(1) eingefügt verschlimmer das die Sache noch. > Werden allerdings einige Msg_WriteInt(count) eingefügt gehts dann fast vollständig. > Hab aber keine Ahnung warum. Msg_WriteInt(count) bremsen den Controler doch auch nicht anders aus > als ein Delay? Soll ja auch ohne USB-Anbindung bzw. Testboard laufen. > Zuerst in Arrays scheiben und danch ausgeben hat auch keien erfolg gebracht. > Wird die Baud testhalber auf 9600 gesetzt geht es dann tadellos.(test über Hyperterminal) > Das wurde aber dafür sprechen das der mega128 zu langsam währe. > Steht aber im wiederspruch zum ausbremsen mit Msg_WriteInt(count). > Allerdings kann man ja noch sehr viel höhere Bauds einstellen (115200bps) nach dem Handbuch. > Und mit weniger schritten wie jetzt, um die Zeit zu optimieren, geht es denke ich auch nicht. > > Ich hoffe das ich nicht zuviel Infos reingepackt habe, und es unübersichtlich wird. > Vieleicht kann mir ja jemand den Denkfehler den ich habe erklären, oder ein Beispeilprogramm > Schreiben, wo mit baud 19200 einen ca.850 Zeichendatei mittels RS232 durch den Mega128 geleiten werden > kann. > > gruß > neutrino > > > >