c't Projekte - c't-Bot und c't-Sim -
Mailinglisten
[Voriger (Datum)]
[Nächster (Datum)]
[Voriger (Thread)]
[Nächster (Thread)]
[Nach Datum][Nach Thread]
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