Hallo seit einiger Zeit kämpfe ich mit der UART Schnittstelle meines Controllers. Leider bisher ohne Erfolg. Das senden von Zeichen vom Controller aus klappt ohne Probleme. Das Empfangen hingegen klappt gar nicht. Der Controller empfängt nicht die richtige Anzahl und auch nicht die richtigen Zeichen. Beispiel: PC gesendet: „12 34 56 78 91 23 45 67 89 12 34 56 78 9 „ Controller empfangen : „1234567FF89123456789“ Nun habe Testweise eine Brücke zwischen RX und TX bei meiner UART Schnitstelle gemacht. Aber auch hier erhalte ich das gleiche Ergebnis. Kann es sein dass meine UART Schnittstelle defekt ist. Das senden klappt ohne Probleme!! Vielen Dank schonmal für die Antworten.
Ich schätze mal, du verpasst Zeichen, weil deine UART-Auswertung zu lange dauert. Ohne Code(-ausschnitt), Controller-Typ und andere Infos wirst du wohl keine bessere Antwort erhalten.
Hi danke schonmal für die Antwort. Ich verwende den Sc13 von Beck. hiermal ein Beispiel Code Vielen Dank für die Antworten Task2(void){ int j=0; while(1){ for(j=0;j!=18;j++){ if (fossil_putbyte (FOSSIL_EXT, (0x00FF & testBuffer[j]))==0){ j=j-1; RTX_Sleep_Fine (2); } } } RTX_Sleep_Time(500); } Task1(void){ fossil_setbaud (FOSSIL_EXT,19200, FOSSIL_PARITY_EVEN,8,1); fossil_set_flowcontrol (FOSSIL_COM,FOSSIL_FLOWCTRL_OFF); while(1) { Tes2Buffer[anzahl] =0x00FF & fossil_getbyte_wait(FOSSIL_EXT); anzahl = anzahl+1; if(anzahl>=18){ printf("\n Anzahl %i ",anzahl); for(i=0;i!=anzahl;i++){ printf("%X",Tes2Buffer[i]); } anzahl=0; } }
Ich nochmal: Wenn du testen möchtest, ob es an der Geschwindigkeit der Auswertung liegt, könntest du einmal die BAUD-Rate auf 9600 oder gar 4800 runtersetzen. Mit dem SC13 (oder mit Beck allgemein) kenne ich mich nicht aus, daher kann ich Dir ansonsten nicht mehr weiterhelfen.
Produktinfo für Hilfsbereite: http://www.beck-ipc.com/de/products/sc1x/sc13.asp Ich habe im Moment leider nicht die Nerven, um mich damit auseinanderzusetzen ;) Gruß, Magnetus
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.