erik_wolfram
10.03.2013, 21:16
Hallo,
ich komme einfach nicht weiter voran da ich an einem kleinem?! Problem scheitere - im Simulator funktioniert alles, doch wenn ich das Programm auf dem Microcontroller ausführe werden die Zeilen ausgelassen/übersprungen.
Hier mal Ausschnitte aus dem Quellcode:
void sendchar (unsigned char c)
{
while (!(UCSR0A & (1 << UDRE0))) // Warten, bis Senden möglich ist
{
; // tu was
}
UDR0 = c; // schreibt das Zeichen aus 'c' auf die Schnittstelle
}
unsigned char mychar;
uint8_t i;
....
i = 1;
mychar = (int) i;
mychar = i;
sendchar (mychar);
sendchar (i);
sendchar ((int) i);
sendchar ((char) i);
sendchar (' ');
Lediglich die letzte Zeile wird übertragen: " " (Leerzeichen).
Laut Simulator müssten alle Variationen funktionieren!
Ich habe auch die Funktion sendUSART () ausführlich getestet - es gibt keinerlei Fehler bei der Übertragung von langen Strings!
Ich stehe mit meinem Latein am Ende - denn leider komme ich ohne die Lösung dieses Problems nicht weiter.
Ich hoffe hier kann mir jemand bitte aushelfen?
Ich suche eine einfache Möglichkeit zur Übertragung der 8-Bit Integer Werte die möglichst rechenarm ist - und aus der Theorie geht ja hervor, dass 8-Bit Integer und Char das gleiche sind....
Gruß Erik
ich komme einfach nicht weiter voran da ich an einem kleinem?! Problem scheitere - im Simulator funktioniert alles, doch wenn ich das Programm auf dem Microcontroller ausführe werden die Zeilen ausgelassen/übersprungen.
Hier mal Ausschnitte aus dem Quellcode:
void sendchar (unsigned char c)
{
while (!(UCSR0A & (1 << UDRE0))) // Warten, bis Senden möglich ist
{
; // tu was
}
UDR0 = c; // schreibt das Zeichen aus 'c' auf die Schnittstelle
}
unsigned char mychar;
uint8_t i;
....
i = 1;
mychar = (int) i;
mychar = i;
sendchar (mychar);
sendchar (i);
sendchar ((int) i);
sendchar ((char) i);
sendchar (' ');
Lediglich die letzte Zeile wird übertragen: " " (Leerzeichen).
Laut Simulator müssten alle Variationen funktionieren!
Ich habe auch die Funktion sendUSART () ausführlich getestet - es gibt keinerlei Fehler bei der Übertragung von langen Strings!
Ich stehe mit meinem Latein am Ende - denn leider komme ich ohne die Lösung dieses Problems nicht weiter.
Ich hoffe hier kann mir jemand bitte aushelfen?
Ich suche eine einfache Möglichkeit zur Übertragung der 8-Bit Integer Werte die möglichst rechenarm ist - und aus der Theorie geht ja hervor, dass 8-Bit Integer und Char das gleiche sind....
Gruß Erik