## c't-Projekte - Mailinglisten

[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

### AW: AW: [ct-bot] Problem mit Pointern

Absender: Carsten Giesen
Datum: So, 02.04.2006 08:43:45

    Hallo Torsten,

    Durch schreiben auf von
    Register 0 (Befehle)
    Von 51 Messen in cm
    Wird eine Messung gestartet

    Durch lesen auf Register 2
    Hole ich mir das Highbyte der Messung.

    Aber das scheint nicht das Problem zu sein.

    Ich habe aus der Zeile
    	*rx_ptr = TWDR;
    //Save received byte
    gemacht
    	*rx_ptr = 99;
    //Save received byte
    Jetzt sollte man davon ausgehen, das die 99 am Ende ankommt.
    Tut aber nicht. Ich herhalte eine 8!

    Es muss also in der Übergabe von Pointer auf Pointer in uint16 ein Fehler
    sein.

    Cu

    Carsten

    -----Ursprüngliche Nachricht-----
    Von: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx
    [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] Im Auftrag von Torsten
    Evers
    Gesendet: Samstag, 1. April 2006 22:33
    An: Entwicklung rund um den c't-bot
    Betreff: Re: AW: [ct-bot] Problem mit Pointern

    Hallo Carsten,

    Am Samstag, 1. April 2006 21:39 schrieb Carsten Giesen:
    > Danke erstmal.
    keine Ursache...noch habe ich nichts bewirkt ;)

    > Ok, ich glaube da habe ich nicht gut genug gefragt.
    stimmt :)

    > Hier definire ich ein Dataset (so heißt das glaube ich)
    > 	char temp0[1];
    > 	char temp1;
    Soweit ok..also einmal Platz für ein Byte und einmal für zwei.
    in temp0 steht wohl die Adresse und temp1 ist für den Inhalt.

    > 	tx_frame[0].data_ptr = temp0;
    > 	tx_frame[1].data_ptr = &temp1;
    der Unterschied ist auch klar aufgrund der Definition von temp0 und temp1

    > 	srf10_m = temp1;
    auch ok, da nur ein normales char

    > 			state = Send_adr(data_pack[i].slave_adr);//Send
    > slave address+W/R
    >
    > 		/*Dependent on the R/W in the slave address it will receive
    or
    > 		transmitt data.*/
    hmm...der Kommentar macht mich stutzig, insbesondere, da ich im Code selbst
    keinen Fehler sehe. Bist du Sicher, dass das Dataset nicht vielleicht
    zufällig ein write-Kommando enthält und Du daher keine Daten kriegst?

    > 				state = Get_byte(data_pack[i].data_ptr++,j);

    > 	*rx_ptr = TWDR;
    Denn diese beiden passen auch zusammen...ich sehe da keinen Fehler.

    > Jetzt ist die ganze Kette zusammen
    Nu war auch klar, wo Dein Problem lag :)

    > Zu Schull sollte in der Var "srf10_m" mein gemessener Wert stehen.
    > Tut es aber nicht.
    Ist natürlich ohne Kenntnis des Sensors und seiner Ansteuerung etwas schwer
    zu sagen aber ich vermute, Du teilst ihm mit, dass Du Daten senden willst
    (ich nehme mal an, Kommandos für Messstart und -stop o.ä.) und kriegst daher
    keine Daten zurück.

    Viele Grüße,

    Torsten

    _______________________________________________
    ct-bot-entwickler Mailingliste
    ct-bot-entwickler@xxxxxxxxxxxxxxxxx
    http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler

- Voriger (Datum): AW: [ct-bot] Problem mit Pointern, Carsten Giesen
- Nächster (Datum): AW: AW: [ct-bot] Problem mit Pointern, Carsten Giesen
- Voriger (Thread): Re: [ct-bot] Problem mit Pointern, Michail Brzitwa
- Nächster (Thread): AW: AW: [ct-bot] Problem mit Pointern, Carsten Giesen
- Indizes:
  - Datum
  - Thread