Hallo Forum-Gemeinde!
Ich habe hier einProblem mit einer Übung, die ich gerade versuche
durchzuführen. Vorab muss ich sagen dass ich nicht mit GCC arbeite. Also
kann es sein dass die Syntax ein wenig anders ist. Ich denke jedoch dass
es ein generelles Problem (Fehler) ist. Hier erstmal mein Q-Text.
int i;
void main()
{
i = 0;
UART1_Init(9600);
Delay_ms(100);
do
{
UART1_Write(i);
UART1_Write_Text("\n\r");
Delay_ms(500);
i++;
}
while(1);
}
Ich möchte also Zahlenwerte in einer Variable ablegen und in einer
Schleife an UART übergeben. Am Ende der Schleife soll i um 1 erhöht
werden. Der Zähler funktioniert uch soweit, ich bekomme nur keine Zahlen
ausgegeben sonder diese Folge:
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
usw.
Kann mir jemand weiter helfen und mir sagen warum das passiert?
Gruß, VItali
Vitali H. schrieb:
> Kann mir jemand weiter helfen und mir sagen warum das passiert?
Wahrschenilich deshalb, weil UART_Write zur Ausgabe eines Characters
gedacht ist und nicht zur Ausgabe einer Zahl.
> Ich denke jedoch dass es ein generelles Problem (Fehler) ist. Ja, das fehlende Verständnis zum Thema Zahl <--> ASCII-Zeichen Als Grundlage mal die ASCII-Tabelle aus http://www.tcp-ip-info.de/tcp_ip_und_internet/ascii.htm Wenn in deinem Programm i==48 ist, dann wirst du eine 0 sehen. Wenn i==49 ist, dann eine 1. Bei i==111 ein kleines o usw.usf.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.