Forum: Mikrocontroller und Digitale Elektronik Frage zum UART


von Sascha S. (sascha112)


Lesenswert?

Ich programmiere mir den Wolf, es klappt einfach nicht.
Atmega8:
TTL 9600,8,N,1 7-bit ASCII rein, rauskommen soll ANSI zur 
Weiterverarbeitung.
Besser gesagt würde es reichen, wenn bestimmte Zeichen ersetzt würden, 
der Rest kann unverändert bleiben. Übersetzung gem. nachfolgender 
Tabelle:

In(Hex) Out(Hex)
7B      E4
7C      F6
7D      FC
7E      DF

5B      C4
5C      D6
5D      DC

Bin dankbar über jeden Tipp-oder Pgm, denn ich schaffe mich erst in die 
Materie rein.

...dieses Posting brachte mich bis jetzt nicht weiter.
Beitrag "ASCII Problem"

von Timmo H. (masterfx)


Lesenswert?

Eigentlich hatte ich es doch recht verständlich gemacht oder?
1
ISR(USART_RXC_vect)
2
{
3
  unsigned char temp;
4
  temp = UDR;
5
  while (!(UCSRA & (1<<UDRE)));     // warten bis Senden moeglich
6
  switch(temp){
7
    case 0x7B:
8
      UDR = 0xE4;
9
      break;
10
    case 0x7C:
11
      UDR = 0xF6;
12
      break;
13
    //usw.
14
    default:
15
      UDR = temp;    //Zeichen so senden wie empfagen
16
  }
17
}
Was genau ist dein Problem?

von Sascha S. (sascha112)


Lesenswert?

Hi Timmo, danke erstmal!
bei usw die restlichen Ersetzungen eintragen-soweit klar.
Ich muß doch sicher noch ein paar Register und Ports definieren.
Mit dem letzten Quellcode hagelte es Fehler, beim erzeugen der *.hex.
Ich werde es aber in Ruhe nochmal probieren.

Gruß Sascha

von Timmo H. (masterfx)


Lesenswert?

Naja ohne die Fehler, die der Compiler Postet kann dir natürlich nicht 
geholfen werden.

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
Noch kein Account? Hier anmelden.