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 zusammen > > > > habe mir ein ccontrol pro mega 128 gekauft um über eine serielle > > schnittstelle daten einzulesen. > > > > die schnittstelle liefert mit 3200 baud 1 startbit 8 datenbits und 2 > > stopbits, wobei das erste stopbit high und das zweite low ist. > > Hallo Josef, > > die Schnittstelle ist mit 2 Stopbits, das 1. high, das 2. low doch ziemlich exotisch. Ich > kenne eigentlich nur, das beide Stopbits high sind. Der Receiver im Mega128 ignoriert laut > Datenblatt das zweite Stop Bit. Allerdings wird bei 1. Stopbit low und 2. Stopbit high ein > Frame Error erzeugt. > > Laut Datenblatt können die Atmel Mega auch nur high Stopbits erzeugen. Die Schnittstelle kann > auch kein Mark oder Space Parity, allerdings kann man wohl pfuschen, in dem man 9Bit Daten > angibt, und damit das Parity erzeugt. 9Bit Daten werden allerdings zur Zeit von der C-Control > Pro Library nicht unterstützt. > > Schau doch mal im Oszi, was wirklich für Daten ankommen, die vom Mega128 gelesen werden sollen. > Das klingt mir etwas abenteuerlich mit 2 unterschiedlichen Stopbits. > > Gruss Peter > > > > > das program schaut so aus > > // Hauptprogramm > > // > > void main(void) > > { > > byte c; > > char Text1[37]; > > char Text2[27]; > > > > Text1="-- Test serielle Schnittstelle --"; > > Text2="-WR Schnittstellentest-"; > > > > Serial_Init(0,SR_8BIT|SR_1STOP|SR_NO_PAR,47); > > //Init RS232: 19200, bps, 8 Bit, 1 Stop, NP > > Serial_Init(1,SR_8BIT|SR_2STOP|SR_NO_PAR,287); //287 > > //Init RS232: 3200, bps, 8 Bit, 2 Stop, NP > > c=0; > > > > Serial_WriteText(0,Text1); > > Serial_WriteText(0,Text2); > > { > > Serial_Write(0,c); > > Serial_WriteText(0,"1"); > > c=Serial_Read(1); > > Serial_WriteText(0,"2"); > > Serial_Write(0,c); > > Serial_WriteText(0,"3"); > > }while (1); > > } > > > > > > das programm bleibt bei Serial_WriteText(0,"1") also schreibt noch 1 raus hängen. > > was auch noch eigenartig ist, es wird vom auf den monitor diese Zeile -> Wert von c > > (Serial_Write(0,c);) nicht geschrieben; > > er wartet auf daten von der schnittstelle. habe einen PC angehängt und 2 stopbits über > > die RS 232 geschickt, das funktioniert mit jeder baurate. von der zweiten schnittstelle werden auch > > am PC daten empfangen. > > > > hat vielleicht jemand eine idee? > > > > danke