Probleme mit UART Schnittstelle beim empfangen

Gast #908543
Lesenswert?
• ▲
▼
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.
Gast #908656
Lesenswert?
• ▲
▼
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;
}
}
Gast #908701
Lesenswert?
• ▲
▼
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren