Moin! Da habe ich die ganze versucht den oben genannten zu programmiern und der uC tut es einfach net! Er soll Zeichen von der UART einlesen und diese vom $ gleich Anfang Zeichensatz bis <CR> und <LF> gleich Ende Zeichensatz in ein String schreiben. Unter VC++ hat das ungefähr so geklappt. Hier kommt aber nur das letzte Fragment des ersten Datensatzes im Terminal zurück. Gibt es eigendlich einen Rückgabewert von getchar()? Hatte daran gedacht, daß der Status des RXC-Flas zurückgegeben wird. Ähnlich wie: USR.7==1; Wer kann mir helfen den Fehler zu finden. Leider ist das mein erstes Projekt und da muß ich noch viel lernen. THX MArkus
Ähhhhh? Ict schon spät, wenn man die ganze Nacht Gas gegeben hat. Daher hier der Code;-)))
@Markus kann das sein das du der gleiche bist der schon mal zu diesem Thema einen Thread aufgemacht hast. Tip3: lesen bildet (vor allem im richtigen Thread) Also: getchar() gibt dir ein (gelesenes) Zeichen zurück. Wenn du also schreibst while (getchar() != '\n') && (getchar() != '\r') { } dann wirst du nicht zurande kommen Bsp: 'H','a','l','l','o','\n' wird in Datensatz[] so gespeicehrt werden Datensatz[0] = 'l'; Datensatz[1] = '\n'; der Rest wird Schrott sein Also, bitte 1. Zeichen lesen und in Variable speichern 2. gespeicherte Variable untersuchen 3. Reaktion darauf bsp: unsigned char ucZeichen; unsigned char ucDatensatz[100]; unsigned char ucIndex; ucIndex = 0; while (ucIndex < 99) { // Überlauf ucZeichen = getchar(); if (ucZeichen == '\n') // Abbruch wenn CR break; ucDatensatz[ucIndex++] = ucZeichen; // Zeichen in Datensatz } ucDatensatz[ucIndex] = '\0'; // Abschließende '\0' Eintragen Gruss
Hi T.! Scharf kombiniert;-) Für mein Studium arbeite ich an ein Projekt. Nach dem Motto: Learning by doing, bringe ich mir die Kentnisse selber bei. Nach tagelanger Arbeit, die nur bedingnt vom Erfolg gekrönt ist, zweifelt man an den fundermentaltesten Dingen:-( Nunja, ich werde mir deine Posts anschauen und drohe hier gleich mit neuen Fragen. Von dieser Stelle ersteinmal Danke für die Infos!!! Es ist immer gut, wenn wenig Bewanderten auf den Weg geholfen wird. Markus
PS: es hilft manchmal das "EVA"-Prinzip annzuwenden (Nein nicht die EVA, Ja!!) E=Eingabe (getchar) V=Verarbeitung (wenn zeichen ...) A=Ausgabe (puts) Gruss und viel Spaß noch ...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.