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 Peter, > > nicht ganz, im Bild siehst du das Clock-Register vom DS 1629 > <img src="www.muefranet.de/pics/DS1629_clock.jpg"> > (bei mir geht das Bild nicht, hier als <a href="www.muefranet.de/pics/DS1629_clock.jpgL" target="_blank">LINK</a>) > (Link geht auch nicht dann hier direkt www.muefranet.de/pics/DS1629_clock.jpg) > Ich muss die Werte für die Zeit umwandeln! > z.B. nach sekunde 9 kommte sekunde 16 was 10 ist, ist ja laut Bild auch ok so > Hab mir folgendes einfallen lassen: > <basic> > ..... > I2C_Start() 'Start > I2C_Write(&H9F) 'Command write Config "read" > Tmin=I2C_Read_ACK() 'Read msb mit Ack > Th=I2C_Read_ACK() 'Read msb mit Ack > Tday=I2C_Read_ACK() 'Read msb mit Ack > Tdate=I2C_Read_ACK() 'Read msb mit Ack > Tmonth=I2C_Read_ACK() 'Read msb mit Ack > Tyear=I2C_Read_NACK() 'Read msb mit Ack > I2C_Stop() 'Stop > > Tmin = rechen(Tmin) > Th = rechen(Th) > Tdate = rechen(Tdate) > Tmonth = rechen(Tmonth) > Tyear = rechen(Tyear) > > ..... > > Sub rechen(TAUSCH As Integer) As Integer > If TAUSCH > 73 Then > TAUSCH = TAUSCH - 6 > End If > If TAUSCH > 57 Then > TAUSCH = TAUSCH - 6 > End If > If TAUSCH > 41 Then > TAUSCH = TAUSCH - 6 > End If > If TAUSCH > 25 Then > TAUSCH = TAUSCH - 6 > End If > If TAUSCH > 9 Then > TAUSCH = TAUSCH - 6 > End If > Return TAUSCH > End Sub > > ..... > </basic> > vielleicht geht es auch noch einfacher, ich bin halt kein Profi :-) > Gruß Frank > > > Ach so, Du möchtest von BCD nach binär wandeln. Wie wärs mit: > > > > int bcd, bin; > > bin= (bcd>>4) * 10 + (bcd & 0xf); > > > > > > Gruss Peter > > > > > Danke Peter für die Antwort, aber damit kann ich den Wert nur im Debugmodus Ausgeben. > > > Ich möchte den Wert aber weiterverarbeiten. In dem Moment wo du geantwortet hast ist mir die Idee > > > gekommen, es mit einer verschachtelten IF Reihe zu lösen. Das Bau ich dann in eine Funktion ein und > > > kannn es mehrfach nutzen. > > > > > > Danke Frank > > > > > > > Hi, > > > > > > > > wenn der Wert offenbar BCD kodiert ist, dann kann man mit Msg_WriteHex() den Wert ausgeben. > > > > > > > > Gruss Peter > > > > > > > > > Hallo, > > > > > > > > > > ich habe ein Programm zur Temperaturmessung mit dem DS 1629 geschrieben, funzt soweit auch nur > > > > > beim Auslesen der Zeit komm ich nicht weiter. > > > > > Mit dem Befehl <basic>Tmin=I2C_Read_ACK()</basic> lese ich die Zeit aus, nur: > > > > > > > > > > BIT0 bis BIT3 -> einer Minuten > > > > > BIT4 bis BIT6 -> zehner Minuten > > > > > > > > > > Mit dem Befehl <basic>Str_WriteFloat(Tmin,1,Aus1,0)</basic> Kommt bei (min=59) 89 raus, was Hex 59 ist (0101 1001)! > > > > > > > > > > Wie kann ich die Hex-Zahl in einen Text umwandel, ohne das erst hex nach Dezimal und dann Text1 > > > > > > > > > > Oder hab ich hier einen Denkfehler? > > > > > > > > > > Danke Frank