Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > > > > > > > > > > Hallo > > > > > > > > > > > > > > > > > > > > > > hast Du eine Lösung für das DS1820 Problem gefunden? Ich wäre an der Lösung interessiert. > > > > > > > > > > > Um die ROM Codes auszulesen gibt es auch search rom, ich verstehe leider nicht, wie ich das > > > > > > > > anwenden muss? > > > > > > > > > > > > > > > > > > > > > > Viele Grüße > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <b>Hi zusammem, erst mal alles gutes C-Controlling Pro für 2009 :-) > > > > > > > > > > > > > > > > > > > > Ich habe folgenden Link gefunden der den ROM Search Algorith beschriebt sowie die > > > > > > > > Implementierung > > > > > > > > > > in C mitbringt. > > > > > > > > > > > > > > > > > > > > http://www.maxim-ic.com/appnotes.cfm/appnote_number/187 > > > > > > > > > > > > > > > > > > > > Damit kann man wohl so ziemlich alle 1 wire Chips anhängen. Ich werde bei gelegen- > > > > > > > > > > heit mal schauen, ob sich das auf den C-Control übertragen lässt. Hat jemand Interesse > > > > > > > > mitzuwirken? > > > > > > > > > > Viele Grüße > > > > > > > > > > Jo </b> > > > > > > > > > > > > > > > > > > Hallo, > > > > > > > > > > > > > > > > > > gibt es schon jemanden der den ROM Search Algorithmus auf dem C-Control Pro umgesetzt hat? > > > > > > > > > > > > > > > > > > Ich habe mich einmal daran versucht, aber ich scheitere an den Befehlen OWWriteBit und > > > > > > > > OWReadBit. > > > > > > > > > Mit OneWire_Write und Read werden ja immer ganze Bytes gesendet und gelesen. > > > > > > > > > > > > > > > > > > Grüße Jörg > > > > > > > > > > > > > > > > > Hallo Peter, hallo *, > > > > > > > > wie kann OWWriteBit und OWReadBit implementiert werden? Hat es jemand schon realisiert? > > > > > > > > @Peter, wäre doch sehr sinnvoll in den OneWire Befehlssatz mit aufzunehmen. > > > > > > > > Ansonsten wüsste ich nicht, wie man SEARCH ROM [F0h] implementieren kann. > > > > > > > > > > > > > > > > Danke und viele Grüße > > > > > > > > > > > > > > > > Jo > > > > > > > > > > > > > > Ich bin auch immer noch daran interessiert.... > > > > > > > > > > > > > > Grüße Joerg > > > > > > > > > > > > Hallo Jörg, > > > > > > in http://pdfserv.maxim-ic.com/en/an/AN162.pdf ist genau beschrieben, wie das Bit-Lesen und > > > > > > Schreiben zu implementieren ist. Beim OW-Byte Read und Write von C-Control ist u.A. schon > > > > > > der Bitaufruf vorhanden. Zumindest ist es in dem Beispiel > > > > > > http://pdfserv.maxim-ic.com/en/an/AN162.pdf so implementiert. > > > > > > Für jemand der sich in Assembler auskennt, sollte > > > > > > ////////////////////////////////////////////////////////////////////////////// > > > > > > // READ_BIT - reads a bit from the one-wire bus. The delay > > > > > > // required for a read is 15us, so the DELAY routine won't work. > > > > > > // We put our own delay function in this routine in the form of a > > > > > > // for() loop. > > > > > > // > > > > > > unsigned char read_bit(void) > > > > > > { > > > > > > unsigned char i; > > > > > > DQ = 0; // pull DQ low to start timeslot > > > > > > DQ = 1; // then return high > > > > > > for (i=0; i<3; i++); // delay 15us from start of timeslot > > > > > > return(DQ); // return value of DQ line > > > > > > } > > > > > > Page 3 of 15 > > > > > > Write Bit Example > > > > > > ////////////////////////////////////////////////////////////////////////////// > > > > > > // WRITE_BIT - writes a bit to the one-wire bus, passed in bitval. > > > > > > // > > > > > > void write_bit(char bitval) > > > > > > { > > > > > > DQ = 0; // pull DQ low to start timeslot > > > > > > if(bitval==1) DQ =1; // return DQ high if write 1 > > > > > > delay(5); // hold value for remainder of timeslot > > > > > > DQ = 1; > > > > > > }// Delay provides 16us per loop, plus 24us. Therefore delay(5) = 104us > > > > > > > > > > > > keine all zu große Herausforderung sein. > > > > > > > > > > Nein, es ist keine große Herausforderung, sind ja nur zwei Funktionen. Aber > > > > > erstmal müßte ich mir hier die Hardware aufbauen, zumal ich keine 2 OW devices > > > > > hier habe. Die Hardware müßte ich mir bestellen und zusammenlöten. Dann die Funktionen > > > > > implementieren, dann in CompactC testen. Die Implementation von OW ist aber leicht > > > > > unterschiedlich zwischen Mega32, Mega128 und Mega128 CAN. Alle diese Platformen testen. > > > > > Dann muß es auch in die AVR32 Lib rein, an der ich gerade schreibe. Dort dann testen. > > > > > BASIC ist aber auch Pflicht, also dann auf allen vier Plattformen in BASIC testen. > > > > > Dazu gehören eigentlich noch Demoprogramme, also Demoprogramme in BASIC und C schreiben, > > > > > auf deutsch und englisch. Dann haben sich bei mir Leute in der Vergangenheit beschwert, > > > > > das wenn Funktionen schon da sind, sie auch in die Dokumentation gehören. Also Funktionen > > > > > mit Syntax von BASIC und C in die Hilfedatei, dazu gehört dann auch das PDF. > > > > > Und dann die gesamte Dokumentation für PDF und Hilfe nochmal auf englisch. > > > > > > > > > > Hier bin ich schon locker für diese Kleinigkeit bei 5-6 Manntagen (ca. viertel Monatsgehalt) > > > > > das mir keiner bezahlt. Und wenn ich Funktionen einbaue, muß ich dafür gerade stehen. > > > > > Also wenn ein Kunde meint, da einen Bug zu haben, debugge ich da im Zweifelsfall stundenlang > > > > > und sehe keinen Cent. > > > > > > > > > > Gruss Peter > > > > > > > > > > > > > Hallo Peter, > > > > > > > > ich kann das alles nachvollziehen... > > > > > > > > Ich war nur bisher in dem Glauben, das Byte lesen besteht aus 8 * Bit lesen besteht. > > > > > > > > Grüße Joerg > > > > > > > > > > > > > > > > Viele Grüße > > > > > > > > > > > > Jo > > > > > > Hallo Jörg, > > > wie sind deine Assembler-Kentnisse? Ich habe mit dem Watchdog mal etwas gebastelt, > > > ich denke mit entsprechenden Assember-Beispielen sollte es machbar sein!?! > > > Wenn du Lust hast, können wir es zusammen versuchen > > > > > > Viele Grüße > > > Jo > > > > Hallo Jo, > > > > meine Assembler Kenntnisse sind eher schlecht. > > > > Ich habe mir mal einen 1 wire C Code von einem Peter Dannegger heruntergeladen. > > Das ganze hapert aber an dem Timing auf dem C Control. > > In diesem Code wird aber auch in der Byte Routine die Bit Routine aufgerufen. > > Ich meine man braucht also nur den inneren Teil der Byte Routine. > > > > Grüße Joerg > > > > > Hallo Jörg, > das mit dem Timing sollten wir in Griff kriegen; die Takfrequenz com C-Control ist bekannt, > damit ist die Ausführzeit unterschiedlicher Assemblerbefehle berechenbar. > In der Assembler Routine müssen die Interrupts disabled werden. > Wenn es doch nur mehr Beispiele für Assembler mit C-Control gäbe.... > U.U. hilft auch eine entsprechende Routine mit dem AVR zu schreiben und dann den generierten > Assembler code vom Compiler anzuschauen? > Ich frage auch mal im Kollegenkreis ob jemand mit der Implementierung helfen kann. > > Viele Grüße > > Jo >