Gast
#1232155
Hi!
Ich habe hier einen Atmega1280 und möchte gern eine SMS versenden.
Hierzu habe ich mir den SMS-Quellcode von Ulrich Radig als Basis
genommen.
Ulrich gibt fdevopen eine Uart_putchar und macht die Ausgaben dann
weiter mit printf. Das funktionierte bei mir nicht. Darum habe ich so
ziemlich alles zeichenweise über uart_putc ausgegeben. Funktioniert auch
alles und sieht gut aus. Bis auf die Nachricht selbst.
Nachdem sie gemäß Radig so ins PDU-Format codiert wurde:
//erzeugen des Nachrichten Strings
while (nachricht[tmp1] != 0){
nachrichtneu[tmp2] = (nachricht[tmp1]&0x7F)>>shift;
if (shift != 0){
nachrichtneu[tmp2-1] |=
(nachricht[tmp1]&((1<<shift)-1))<<(8-shift);
};
shift++;
tmp1++;
if (shift == 8){
shift=0;
}
else{
tmp2++;
};
};
nachrichtneu[0]= tmp1;
Gibt er sie so aus:
//Senden Nachrichten String
for (tmp1 = 0;tmp1<tmp2;tmp1++){
printf("%02X", nachrichtneu[tmp1]);
};
Hier liegt mein Problem. Wenn ich nachrichtneu einfach zeichenweise mit
putc ausgebe kommt nur Müll auf der seriellen an. Ulrich Radig gibt die
Zeichen hier aber ja auch als unsigned hex (X) aus. Da liegt vermutlich
der Hund begraben, oder? Kann ich das irgendwie über die serielle
Schnittstelle bringen ohne fdevopen zu benutzen?