Hallo. Ich habe schon einige Erfahrung mit Mikrocontr. und auch mit dem I2C. Hatte vorher alles in Assambler gemacht. Habe aber jetz ein Controller mit Display, und da sind schon Routinen für die Ansteuerung des Displays bei. Damit ich nicht alle Routinen in Assambler umsetzten muss, dachte ich mir ich mach den Rest einfach auch in Basic. hab dann in der Hilfe dieses Beispiel gefunden und wollte das übernehmen ich habe den DS1621 und die Adressbits alle auf HIGH(5V) Const Ds1624wr = &B10011110 Const Ds1624rd = &B10011111 I2cstart 'Sends start condition I2cwbyte Ds1624wr 'Sends the address I2cwbyte &HAC I2cwbyte &H00 I2cstop 'Sends stop condition Waitms 25 'We have to wait some time after a stop I2cstart I2cwbyte Ds1624wr 'Start conversion (&HEE command byte) I2cwbyte &HEE I2cstop Waitms 25 'End of initialization Read_temp: 'Get the current temperature I2cstart I2cwbyte Ds1624wr I2cwbyte &HAA 'Read temperature (&HAA command byte) I2cstart I2cwbyte Ds1624rd 'The chip will give register contents I2crbyte Dstemp_high I2crbyte Dstemp_low , Nack I2cstop Waitms 500 Ds_string = Str(dstemp_high) Goto Read_temp ' schleife Bekomme aber imer nur eine 0 angezeigt. Ich lese auch einen MAXX6675 aus. mit der SHIFTIN-Routine. klappt wunderbar. Nur I2C nicht. Pull-Ups hab ich an SDA und SCL 4,7k gegen 5V. Benutze dieselbe Hardware wie auch vorher beim Assembler Prog
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.