Hallo zusammen,
die die mich schon kenne, wissen dass ich hauptsächlich mit dem Bau
eines Hexapods beschäftigt bin. Dieser ist im Moment im mechanischen
Teil fertig und nun folgt die Programmierung. (Hexapod unter dem
Thema "Erster Hexapod").
So mein Problem im Moment liegt bei I2C.
Als erster Meilenstein soll der Master einen Status an 3 Slaves senden,
welche darauf hin eine LED einschalten.
Es handelt sich bei allen 4 Controllern um Atmega88. Für I2C nehme ich
die hardwareseitig vorhanden Pins.
Jetzt mal der Code für den Master. Wäre klasse wenn sich jemand den Code
durchsehen könnte und mir sagen könnte, was ich anderes schreiben muss.
Code:
$regfile = "m88def.dat"
$crystal = 16000000
$baud = 9600
$lib "I2c_twi.lbx"
Config Twi = 400000
Const Slave1 = &HC1 'I2C Adresse slave1
Const Slave2 = &HC2 'I2C Adresse slave2
Const Slave3 = &HC3 'I2C Adresse slave3
Dim Status As Byte
Wait 2 'Warte 2 Sekunden
I2cinit 'Bus initialisieren
Do
Status = 1
I2cstart
I2cwbyte Slave1 'Slave1 ansprechen
I2cwbyte Status 'Status
I2cstop
Waitms 1000
I2cstart
I2cwbyte Slave2 'Slave2 ansprechen
I2cwbyte Status 'Status
I2cstop
Waitms 1000
I2cstart
I2cwbyte Slave3 'Slave3 ansprechen
I2cwbyte Status 'Status
I2cstop
Waitms 1000
Loop
End
MfG High Light
Lesezeichen