Archiv verlassen und diese Seite im Standarddesign anzeigen : I2C (TWI) 2 Fragen
logikbomb
02.03.2005, 10:52
habe mal ne fragen und zwar es geht um I2C (TWI)
Habe mit dem 90S2313 (10 MHz) und dem PCF8574P versucht ein I2C zu bauen hat leider nicht funktioniert. ](*,)
Jetzt wollte ich wissen ob das mit einem Mega8 (16MHz) ohne den PCF8574 funktioniert oder ob man den dann immer noch braucht ? O:)
Wollte ein EEPROM M24256-B damit ansteuern vieleicht kann mir ja jemand damit helfen oder hat ein paar codeschnipsel dafür 8-[
Habe schon überall geschaut aber es ist mir immer noch nicht klar geworden 8-[
... für den PCF8574 hätte ich hier etwas:
Mußt Du dann für den Mega 16 entsprechend anpassen.
'I2C-Test.BAS: I2C-Beispiel: 7-segm.LED über PCF8574 schreiben
'Hardware: PCF8574
' A0-A2 auf GND 0.0.0 = &H40
'
'-------------------------------------------------------------------------------
$regfile = "m8def.dat" 'ATmega8-Deklarationen
$crystal = 3686400 'Quarz: 3,6864 MHz
$baud = 9600 'Baudrate zum PC: 9600 Baud
'
Dim I As Byte 'Für temporären Gebrauch Statusbyte
Dim Daten As Byte 'datenbyte für I2C
Config Sda = Portc.4 'ist für I2C erforderlich
Config Scl = Portc.5 'dito
'-------------------------------------------------------------------------------
Const Pcfled = &H40 'LED an PCF8574 ohne A an 0.0.0
'BITMUSTER 7-seg.-LED
'PCF P0 = Segm. A ..... usw. aufsteigend
Const Led_0 = &B11000000 'Bitmuster 0 ungedrehte Logik !!
Const Led_1 = &B11111001 'Bitmuster 1 LED an gemeinsamer
Const Led_2 = &B10100100 'Bitmuster 2 Anode.
Const Led_3 = &B10110000 'Bitmuster 3
Const Led_4 = &B10011001 'Bitmuster 4
Const Led_5 = &B10010010 'Bitmuster 5
Const Led_6 = &B10000010 'Bitmuster 6
'-------------------------------------------------------------------------------
I2cinit 'I2c initialisieren
I2cstart 'Bus starten
I2cwbyte Pcfled 'Addresse Chip senden
I2cwbyte Led_5 'Byte Bitmuster sendeN
I2cstop 'Bus wieder freigeben
End 'end program
Gib mal bei Bascom im Hilfeindex i2cwbyte ein, dann findest Du auch 'ne Menge zum Thema.
Gruß Gerhard
ps.: die Pullups für SDA und SCL habe ich extern in meiner Schaltung !!
logikbomb
03.03.2005, 11:50
ja werde ich mal versuchen :cheesy:
klappt irgendwie nich hat jemand ne schaltplan dafür nur die sachen um den PCF8574 wäre echt nett !!
klappt irgendwie nich hat jemand ne schaltplan dafür nur die sachen um den PCF8574 wäre echt nett !!
.... evtl. hilft Dir dieses weiter:
http://www.g-fischer.de/proto/led_pcf8574.jpg
mfg Gerhard
ja danke das hilft weiter kann mir jetzt noch jemand sagen wie man die adresse bestimmt mit den drei jumpern und ich bin glücklich
ja danke das hilft weiter kann mir jetzt noch jemand sagen wie man die adresse bestimmt mit den drei jumpern und ich bin glücklich
... na denn:
für den pcf.... ohne A:
wenn A0 bis auf A2 auf Ground dann Schreib-Adresse = hex40
wenn A0 auf +5V, A1+A2 auf GND dann Schreibadtr. = hex42
Zum Lesen die jeweilige Addi um 1 erhöhen. Apropros lesen, Du solltest Dir mal das
Datenblatt zum PCF8574 anschauen !!! Dort steht alles drin.
mfg Gerhrad
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.