Mal wieder Probleme mit UART

OP #3405480
Lesenswert?
• ▲
▼
Hallo zusammen,

ich habe gerade ein bisschen Probleme mit meinem UART.
Leider komme ich mit dem Fehlerbild überhaupt nicht zurecht und weiß 
nicht, wo ich suchen soll.
Ich benutze einen MAX3222 in meinem Projekt zur Debug-Ausgabe. D.h. ich 
möchte nur senden, nicht empfangen.
Baudrate ist 115200, ich habe aber auch schon geringere Baudraten 
versucht.
An PortC hängt ein ULN2803 mit dem ich ein paar Relais treibe.
Die Schaltzyklen möchte ich zählen und im EEPROM abspeichern

Am Anfang mache im code folgendes:
1
  sei();
2
  uart_init();
3
  uart_put_s_P("\n\r\n\r\n\r\n\r-------------------------------------------\n\r");
4

5
  //-----------------------------------------------------------------------------
6
  // Variablen aus dem EEPROM befüllen
7
  //-----------------------------------------------------------------------------
8
  uart_put_s_P("EEPROM:\n\r");
9

10
  p1 = load_from_EEPROM_x16( 0x0000, 0x0300);
11
  p2 = load_from_EEPROM_x16( 0x0002, 0x000A);
12

13
  p3 = load_from_EEPROM_x8( 0x0010, 0xA0);
14

15
  //Schützzähler laden
16
  schuetzzaehler_load();
17

18
  .
19
  .
20
  .
21

22
  uart_put_s_P("Initialisierung erfolgreich!\n\r");

An meinem PC empfange ich:
1
¨H¨H¨H¨¨©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©
2
©©I¨¨AI=5é
3
0x0000: 0xFFFF (Default -> 0x0300)
4
0x0002: 0xFFFF (Default -> 0x000A)
5
0x0010: 0xFF   (Default -> 0xA0)
6
0x0020: 0xFF   (Default -> 0x01)
7
Schutzzaehler
8

9
S1: 0x00000000
10
S2: 0x00000000
11
S3: 0x00000000
12
S1: 0x00000000
13
S5: 0x00000000
14
S6: 0x00000000

Habt ihr eine Idee warum am Anfang die Zeichen falsch sind, später dann 
aber alle korrekt Empfangen werden?
1
void uart_put_s_p (const char *text);
2

3
//Damit Strings aus dem Flash gelesen werden
4
#define uart_put_s_P(__s) uart_put_s_p(PSTR(__s))

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.