Re: Serial_Init_IRQ Kategorie: Programmierung C (von Torsten - 13.09.2010 20:25) | ||
Als Antwort auf Re: Serial_Init_IRQ von PeterS - 13.09.2010 11:55 | ||
| ||
> > > > 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 | ||
Antwort schreiben Antworten: Re: Serial_Init_IRQ (von PeterS - 13.09.2010 21:11) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum