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