Wie schon Valen sagte das was du da machst ist falsch. Du bräuchtest sowas wie "char langC[5]" und dann "itoa (LANG, langC, 10)".
beste Grüße
the.speciali
Druckbare Version
Wie schon Valen sagte das was du da machst ist falsch. Du bräuchtest sowas wie "char langC[5]" und dann "itoa (LANG, langC, 10)".
beste Grüße
the.speciali
OK
kann ich da auch statt char langC[5]
cahr langB[5] nehmen
Und ist der [5] weil es 5 Byte sind oder
Also wenn ich statt LANG X ausgeben will muss ich char xB[2] schreiben oder
Habe es jetzt so weit aber noch nicht ganz fertig
[/code]#include "asuro.h"
#include "stdlib.h"
int main(void)
{
unsigned int LANG;
char langC[5];
int t,x,LANG;
Init();
StatusLED (GREEN);
FrontLED (ON);
while (1)
{
itoa (LANG, LangC, 10);
SerWrite (LangC, 4);
SerWrite (" LANG\n\r", 7);
for (t=0; t< 100; t++)
{
Sleep (72);
}
x++;
if (x > 1000)
LANG++;
if (x > 1000)
x=0;
if (LANG > 1000)
LANG = 0;
}
}Code:
LG
Das erste: Ja, du kannst jeder Nahme wahlen.(das nicht schon bekannt ist in dem C-sprache) Aber ich vermute the.speciali slagt "langC" vor weil die C vielleicht steht führ char. Dann weisst du später wieder welcher type von Variabele das ist.Zitat:
Zitat von Problem
Das letzte verstehe ich nicht. Kannst du das weiter erklären? Jedenfalls, wan du einer (Zeichenketten) Variabele deklarieren möchtest schreibst du nur einen mal:
Wan du auf einer bestimmte Zeichen in dem Ketten ziehlst schreibst du: (zbs.)Code:char nahme[grosse in Bytes];
Code:langC[2]='b'; // den dritte Zeichen im langC wird einer 'b'. Weil [0] das erste Zeichen ist.
ja ist klar danke
Was ist hier noch falsch ?
Code:#include "asuro.h"
#include "stdlib.h"
int main(void)
{
unsigned int LANG;
char langC[5];
int t,x,LANG;
Init();
StatusLED (GREEN);
FrontLED (ON);
while (1)
{
itoa (LANG, LangC, 10);
SerWrite (LangC, 4);
SerWrite (" LANG\n\r", 7);
for (t=0; t< 100; t++)
{
Sleep (72);
}
x++;
if (x > 1000)
LANG++;
if (x > 1000)
x=0;
if (LANG > 1000)
LANG = 0;
}
Ein fehler ist LangC und langC
juhu
nur noch
test.c:9: error: conflicting types for `LANG' // irgendwas widerspricht sich
test.c:7: error: previous declaration of `LANG'
Valen hat das mit den Variablen super erklärt:)
Aber zum jetzigen Problem: da steht schon der Fehler da, conflicting typs und pervious declaration! Schau mal oben bei der Variablen deklaration: du verwendest einmal unsignet int für LANG und einmal ein einfaches int.
Ps: die Zahl am Anfang in der Fehlermeldung gibt die Zeile an in der der Fehler ist;)
Ich weiss nicht ob du einer derartigen Fehler bekommen hat, aber etwas in in einer Variabele schreiben das nicht passen kann muss Problemen geben. Etwas von 10 Zeichen in einer Speicher platz von 5 Zeichen speichern geht nicht. Solcher fehler habben manche Virussen und Worms eine Tur zu Windows Betriebsystemen gegeben. ;)Zitat:
...
char langC[5];
...
itoa (LANG, LangC, 10);
...
Wow ich habe gerade gedacht ich machs einfach weg und dann auf einmal
> Process Exit Code: 0
Dann wollt ich es posten und lese deinen Beitrag
juju habe dazu gelernt so merke ich s mir länger
Aber danke für die antwort
ja vorfreude ist die größte Freunde
33 LANG
33 LANG
33 LANG
33 LANG
33 LANG
33 LANG
33 LANG
33 LANG
33 LANG
33 LANG
33 LANG
33 LANG
33 LANG
sendert er immer aber wieso
der Wert müsste ja größer werden
Erst mal, was denkst du das den Anfangswert von LANG und x ist beim Programmstart? Das ist wichtig für deine Begriff.
Es wird großer, aber nur nach den 1000-ste mal das gesendet zu haben. Und mit nur 2400 Baud dauert es eine weile. Es macht nur ein Erhöhungen von LANG jeder 1000 Erhöhungen von x. Und jeder Erhöhung von x wird es gesendet.
Ich fürchte es stimmt immer noch nicht mit dein itoa Befehl. ( wegen das 33undnochetwas das gesendet wird) Bitte zeige wieder deine gesamte Code.