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, > > > > > > > > > > langsam bin ich echt am Verzweifeln... Habe die C Pro Mega128 und möchte gerne die Funktion > > > > > Serial_Init_IRQ benützen. Ich lade lediglich das Beispiel aus der Doku - und bin nicht > > > > > mal in der Lage den String zu verschicken. Es kommen immer nur die ersten 2 Zeichen am Rechner an. > > > > > Das gleiche Verhalten in C, Basic, mit dem Beispiel aus der Bibliothek und in meinem eigentlichen > > > > > Projekt. Was geht da schief?!? Mit der einfachen Version "Serial_Init" klappt alles bestens!! > > > > > > > > > > Vieleicht hat ja jemand einen Tipp... > > > > > Vielen Dank, > > > > > > > > > > Wolfgang > > > > > > > > Das Beispiel an sich ist fast zu kurz. Füge mal als letzte Zeile ein "while(1);" als Endlosschleife > > > > ein. Es kann gut sein, das das Programm beendet wird, bevor der gesamte RS232 Buffer ausgegeben > > > > ist. > > > > > > > > Gruss Peter > > > > > > Danke für den Hinweis Peter, > > > leider hilft auch das nicht :-( > > > Es kommen immer nur die ersten zwei Zeichen des Strings an. Bei Verwendung von > > > "Serial_WriteText(0,str);" passiert übrigens genau das selbe. > > > > > > So sieht der Code exakt aus: > > > > > > // 35 byte Sende + Empfungspuffer + 6 byte interne FIFO Verwaltung > > > byte buffer[41]; // Array deklariert > > > //------------------------------------------------------------------------------ > > > // Hauptprogramm > > > // > > > void main(void) > > > { > > > int i; > > > char str[10]; > > > AbsDelay(8000); // Zeitpuffer zum Umschalten auf das Terminal > > > str="Test"; > > > i=0; > > > > > > // Initialisiere Schnittstelle mit 19200baud, 8 Bit, 1 Stop Bit, keine Parität > > > // 20 byte Empfangspuffer - 15 byte Sendepuffer > > > > > > Serial_Init_IRQ(0,buffer,20,15,SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD19200); > > > while(str[i]) Serial_Write(0,str[i++]); // Gib den String aus > > > while(1); > > > } > > > > > > Ich verwende die IDE 2.1.0.0, Compact-C Compiler Version 1.51.0.51. > > > Bin schon am Überlegen, ob ich die IDE mal neu installieren soll?!? > > > > > > Viele Grüße, > > > Wolfgang > > > > > > > Sorry, fällt mir jetzt nichts neues zu ein. Wenn ich eine Eingebung habe, dann schreib ich > > das hier. > > > > Gruss Peter > > > > Hallo Wolfgang, > > eine Patentlösung kann ich leider auch nicht bieten. > Aber ein paar kleine Tips. > > 1. Mir fällt auf daß, "AbsDelay(8000);" noch vor dem Aufruf von > "Serial_Init_IRQ(...)" steht. Würde vorschlagen den Funktionsaufruf > "Thread_Delay(xxx);" nach der Initialisierung der seriellen Schnittstelle > einzufügen. > > 2. Auf der suche nach der Baudrate mit welcher die IDE arbeitet bin ich > bis jetzt erfolglos. Warscheinlich hilft hier nur die verschiedenen Baudraten > mal durchzuprobieren. > > 3. Sofern es sich bei der Ausgabe an die serielle Schnittstelle immer um Textdaten > handelt kann man das Windowsprogramm "HyperTerminal" für den Empfang > von Daten verwenden. Die Baudrate läßt sich dann auch einstellen. > > VG Torsten