Absender: Benjamin Benz
Datum: Fr, 30.03.2007 11:07:58
In-reply-to:
<460CC23C.8090408@xxxxxx>
References:
<460BFC4D.5030809@xxxxxx> <03FA8E8E-224D-4E27-A1A6-2899A0C20B7B@xxxxxxxxxxxxxxx> <460C243C.907@xxxxxx> <FB69CB24-398E-4A0D-A099-3E8751094F34@xxxxxxxxxxxxxxx> <460CC23C.8090408@xxxxxx>
Hi, Klappt es denn, wenn man per #define unit16 auf den uint16_t mappt? MfG Benjamin Benz Achim Pankalla wrote: > hallo timo, > > > Timo Sandmann schrieb: >> Hi, >> >> Am 29.03.2007 um 22:40 schrieb Achim Pankalla: >> >>>> also das Problem mit bot_turn() kann ich so nicht nachvollziehen, >>>> außerdem rechnet das doch mit signed-ints?! >>> das macht mich ja auch stutzig, habe ganze zeit gesucht, worans >>> liegen könnte, habe aber so nichts gefunden, vielleicht bin ich auch >>> betriebsblind und kann es deshalb nicht finden. deshalb ja auch >>> dieser hilferuf.... >> >> also ich habe gerade mal nachgeschaut, bei mir übersetzt der gcc den >> Code von bot_turn() wie gewünscht in 16-Bit-Instruktionen. Ich glaube >> das Problem liegt eher woanders. Vielleicht weil err15 bis err_big >> dann mit falschen Werten gefütttert werden? > ich schätze mit übersetzen meinst du, das der compiler nicht meckert und > der sim-bot im labyrinth normal durchläuft?! übersetzen kann ich auch > ohne probleme und wenn ich die typendefinitionen in global.h im orginal > lasse läufts auch ohne probleme mit dem simulierten eeprom!!! > nur wenn ich die global.h wie folgt ändere: > typedef unsigned char uint8; /*!< > vorzeichenlose 8-Bit-Zahl */ > typedef unsigned short uint16; /*!< > vorzeichenlose 16-Bit-Zahl */ > // typedef unsigned int word; /*!< > vorzeichenlose 16-Bit-Zahl */ > typedef signed char int8; /*!< > vorzeichenbehaftete 8-Bit-Zahl */ > typedef short int int16; /*!< > vorzeichenbehaftete 16-Bit-Zahl */ > > typedef unsigned long uint32; /*!< vorzeichenlose 32-Bit-Zahl */ > typedef signed long int32; /*!< vorzeichenbehaftete > 32-Bit-Zahl */ > > // #define uint16 word /*!< Int mit > 16 Bit */ > dann gehts vielleicht ein paar schritte gut und dann dreht der bot sich > nur noch. die werte die er aus den eeprom@pc holt logge ich mit, da kann > ich nichts auffälliges erkennen. die einzige änderung ist wirklich die > obige in global.h (und die habe ich eigentlich nur gemacht, damit die > kalibrierwerte nur 16bit integer werden und nicht 32bit, damit es wie > auf dem realen bot ist). > hat noch jemand weitere ideen??? bin dankbar für jede weitere frage oder > hinweis! nur noch so am rande, ich arbeite (noch) unter winxp. gcc > --version -> 3.4.2 (mingw special) > habe gerade auch mal eine frisch runtergeladene version nur in global.h > wie ober verändert. auch dort läuft das bot_maze mit bot_turn nicht > mehr. auch hier dreht sich der bot nur noch. > gruss > achim > >> >> Gruß Timo >> _______________________________________________ >> ct-bot-entwickler Mailingliste >> ct-bot-entwickler@xxxxxxxxxxxxxxxxx >> http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler >> > > > _______________________________________________ > ct-bot-entwickler Mailingliste > ct-bot-entwickler@xxxxxxxxxxxxxxxxx > http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler > -- Benjamin Benz Heise Zeitschriften Verlag Redaktion c't eMail: bbe@xxxxxxxx WWW : http://www.heise.de Heise Zeitschriften Verlag GmbH & Co. KG Registergericht: Amtsgericht Hannover HRA 26709 Persönlich haftende Gesellschafterin: Heise Zeitschriften Verlag Geschäftsführung GmbH Registergericht: Amtsgericht Hannover, HRB 60405 Geschäftsführer: Ansgar Heise, Steven P. Steinkraus, Dr. Alfons Schräder