Wie schon im anderen Thread gesagt. SerWrite benötigt einen String bzw Char. Denn muss man erst mit dem "itoa" Befehl umwandeln
beste Grüße
the.speciali
Frage
Es ist ja möglich den aktuellen Wert der Liniensensoren über Hyper Terminal auszugeben
ist es auch möglich den aktuellen Wert von LANG auszugeben
Hier ein Programm
#include <asuro.h>
int main(void)
{
Init();
int LANG = 0,x = 0;
while( 1 )
{
x=x+1;
if (x > 1000)
LANG=LANG+1;
if (x > 1000)
x=0;
//Hier steht dann das Programm
if ( LANG > 200)
LANG=0;
}
return 0;
}
Was ich möchte, ist das ich wärend das Programm abläuft über Hyper T nachsehen kann welchen Wert LANG gerade besitzt
müsste eigentlich gehen oder
Wie schon im anderen Thread gesagt. SerWrite benötigt einen String bzw Char. Denn muss man erst mit dem "itoa" Befehl umwandeln
beste Grüße
the.speciali
Wer den Himmel auf Erden sucht hat im Erdkundeunterricht geschlafen!
ok danke dann versuch ich mal den code umzuschreiben
mfg
#include "asuro.h"
#include "stdlib.h"
int main(void)
{
unsigned int LANG[1];
char LANG[4];
int t,LANG,x;
Init();
StatusLED (GREEN);
FrontLED (ON);
while (1)
{
itoa (LANG, 4);
SerWrite (LANG, 4);
SerWrite (" LANG\n\r", 7);
for (t=0; t< 100; t++)
{
Sleep (72);
}
x=x+1;
if (x > 1000)
LANG=LANG+1;
if (x > 1000)
x=0;
if ( LANG > 200)
LANG=0;
}
}
So ungefähr oder?
Ich habe mal statt data 1/2 LANG genommen eber es kommen fehlermeldungen error........ .
mfg
Die Referenz von C sei dir nahe gelegt: klick hier. Sollte alles drin stehen.
Und eine bitte: Schreibe das nächste mal den Quellcode in [ c o d e ] [ / c o d e ] Tags (ohne leerzeichen), der Thread bleibt dann um einiges übersichtlicher.
beste Grüße
the.speciali
Wer den Himmel auf Erden sucht hat im Erdkundeunterricht geschlafen!
Ok mach ich
mfg
Die Fehlermeldungen habe ich jetzt weg aber er sendet immer nur links links...........Code:#include "asuro.h" #include "stdlib.h" int main(void) { unsigned int data[2]; char data0[5], data1[5]; int t,LANG,x; Init(); while (1) { x++; if (x > 1000) LANG=LANG+1; itoa (LANG, LANG, 5); //itoa (data[1], data1, 5); SerWrite (LANG, 4); SerWrite (" links\n\r", 8); //SerWrite (data1, 4); //SerWrite (" rechts\n\r", 9); for (t=0; t< 100; t++) { Sleep (72); } if(LANG > 500) LANG=0; } }
Kannst mirs bitte sagen ich habs nicht so mit englisch
Den daten führ Links werden nicht gesendet weil dieze zeilen 'ausgeschaltet' sind. Den "//" Zeichen sagen den Kompiler das was dannach kommt auf die selbe Zeile ignorriert werden soll. Data1 wird nicht umgewandelt zu char oder Zeichenketten, und diese deshalb auch nicht gesendet.
Ja weiß ich ein Komeentar
Ich hatte zuvor ein Programm das die Werte von den Liniensensoren überträgt aufs Hyper T
Ich habe das was ich nicht brauche in // getan damit ich sehe wie es zuvor ausgesehen hat
Aber jetzt möchte ich das der wert der Variable LANG übertragen wird weil wenn ein Programm nicht funkt weiß ich wo es stehen bleibt
mein Problem ist das immer
LANG
LANG
LANG
LANG
LANG
LANG
übertragen wird ich möchte aber das der Wert auch dabei steht
Ich habe es jetzt so
Ich weiß auch nicht genau wie das vorher funktioniertCode:#include "asuro.h" #include "stdlib.h" int main(void) { unsigned int data[2]; char data0[5], data1[5]; int t,LANG,x; Init(); while (1) { x++; if (x > 1000) LANG=LANG+1; itoa (LANG, LANG, 5); //itoa (data[1], data1, 5); SerWrite (LANG, 4); SerWrite (" LANG\n\r", 7); //SerWrite (data1, 4); //SerWrite (" rechts\n\r", 9); for (t=0; t< 80; t++) { Sleep (72); } if(LANG > 500) LANG=0; } }
hat mit data[1] und data kann mir das jemand erklären
LG
Den Umwandlung von den Variable in einem Zeichenketten mit itoa geht Falsch. Du wandelst ein int variable um in einer int, statt ein char array (wie data0 und data1). Ich wundere mich wieso das keine Fehlermeldung beim Kompilieren gegeben hat. Ich kann nicht glauben du hast keiner bekommen. Und ein int variable senden mit SerWrite soll auch nicht funktionieren....
itoa (LANG, LANG, 5);
//itoa (data[1], data1, 5);
SerWrite (LANG, 4);
SerWrite (" LANG\n\r", 7);
...
Lesezeichen