Hallo,
Habe folgendes Problem.
Ich benutze einen Atmega88 und möchte Daten an den Slave Schicken.
Ich bin beim Besten willen kein Anfänger aber ich bekomme nicht einmal hin dass die einfachsten befehle wie
i2cstart etc funktionieren.
Hab über ein Oszilloskop gesehen das nichts gesendet wird.
Jetzt kommt der Witz. Wenn ich die SSD1306-i2c OLED Library einbinde funtioniert der i2c Bus aber nur für die OLED Befehle.
Fange ich wieder an mit i2cstart, i2cwbyte etc. ist wider tote hose.
Bin schon am verzweifeln.. Habe das doch bei Atmega8 und 32 auch schon des öfteren verwendet und dort hatte ich keine Probleme.
Ich hänge mal den code an.
Alles anzeigen
Habe folgendes Problem.
Ich benutze einen Atmega88 und möchte Daten an den Slave Schicken.
Ich bin beim Besten willen kein Anfänger aber ich bekomme nicht einmal hin dass die einfachsten befehle wie
i2cstart etc funktionieren.
Hab über ein Oszilloskop gesehen das nichts gesendet wird.
Jetzt kommt der Witz. Wenn ich die SSD1306-i2c OLED Library einbinde funtioniert der i2c Bus aber nur für die OLED Befehle.
Fange ich wieder an mit i2cstart, i2cwbyte etc. ist wider tote hose.
Bin schon am verzweifeln.. Habe das doch bei Atmega8 und 32 auch schon des öfteren verwendet und dort hatte ich keine Probleme.
Ich hänge mal den code an.
BASCOM-Quellcode: i2c_kommunikation_test1
- $regfile "m88def.dat"
- $crystal= 8000000
- $lib "i2c_twi.lbx"
- Config Scl = Portc.5 ' used i2c pins
- Config Sda = Portc.4
- Config Twi = 400000
- enable interrupts
- i2cinit
- do
- i2cstart
- i2cwbyte &H78 'address
- i2cwbyte &H81 'register
- i2cwbyte &HFF 'data
- i2cstop
- wait 1
- i2cstart
- i2cwbyte &H78
- i2cwbyte &H81
- i2cwbyte &H00
- i2cstop
- wait 1
- loop