Hallo!
Mein ATMega8 sendet per USART Daten an den PC; auf dem PC verwende ich hTerm. Angezeigt wird bei hTerm (das Komma ist der Trenner - die angezeigten Werte
entsprechen den Buchstaben):
angezeigt wird:
46, 46, 47, 115, 108, 97, 118, 101,
angezeigt werden sollte:
., ., /, s, l, a, v, e,
meine USART Funktionen:
CodeBox C
warum werden nicht die Buchstaben angezeigt bzw was muss ich ändern, damit die Buchstaben angezeigt werden? Es liegt m.E. nicht an den hTerm Einstellungen (habe schon alles ausprobiert)
mfg
Hero_123
Mein ATMega8 sendet per USART Daten an den PC; auf dem PC verwende ich hTerm. Angezeigt wird bei hTerm (das Komma ist der Trenner - die angezeigten Werte
entsprechen den Buchstaben):
angezeigt wird:
46, 46, 47, 115, 108, 97, 118, 101,
angezeigt werden sollte:
., ., /, s, l, a, v, e,
meine USART Funktionen:
CodeBox C
/* Ausgabe der per SPI gesendete Werte ueber USART an PC */ static void sende_wert1(uint8_t *wert, uint8_t laenge) { uint8_t i_send; /* Zaehlervariable fuer Senden */ i_send = 0; char temp_buf[6]; /* buffer in dem Wert gespeichert wird */ while(i_send < laenge) { utoa(wert[i_send], temp_buf, 10); /* uint8_t in char wandeln */ usart_puts(temp_buf); /* schreib den Wert raus */ usart_puts(", "); /* Komma & blank */ i_send++; /* zaehl weiter */ } usart_puts("\n"); /* Zeilenumbruch */ } /* Funktion, um String auf Terminal auszugeben */ void usart_puts(char *s) { while (*s) { /* solange nicht Stringende erreicht */ usart_putc(*s); /* schreib das Zeichen aufs Terminal */ s++; /* Zeichen um 1 weiter zaehlen */ } } /* Funktion, um Character auf Terminal auszugeben */ void usart_putc(unsigned char c) { while(!(UCSRA & (1 << UDRE))) { } UDR = c; }
warum werden nicht die Buchstaben angezeigt bzw was muss ich ändern, damit die Buchstaben angezeigt werden? Es liegt m.E. nicht an den hTerm Einstellungen (habe schon alles ausprobiert)
mfg
Hero_123