Gast
#577921
Hallo Leuts, ist mir ein bissl peinlich, aber ich habe gerade eine leichte Blockade bzgl. Software I2C Master auf einem AVR (ATmega16). Ich habe mir ein SW I2C Master geschrieben um ein SRF10 Modul auszulesen bzw. anzusteuern. Aber das Modul reagiert leider nicht. Ich bekomme noch nichtmal ein Acknowledge des Moduls (per bI2CheckAddress). Mein Hauptprogramm sieht so aus : void main (void) { vLCDInit(); vI2CInit(); while (1) { vLCDSetPos (13, 0); if (bI2CCheckAddress (0xe0, 0)) { vLCDWriteLine ("Ok"); } else { vLCDWriteLine ("NOk"); } for (ucC = 0; ucC < 64; ucC ++) { _delay_loop_2 (10000); } ucCount++; vLCDSetPos (13, 1); vLCDWriteHex (ucCount); } } Hat jemand ne idee was ich falsch mache ? Falsche Makros für die Port-Pinne ? Timing kanns nicht sein da ich ein recht großzügiges delay habe. Falsche Modul-Adresse kanns auch nicht sein da mir das Modul adresse E0 anzeigt. Mein SDA & SCL liegen auf PORTA.0 und PORTA.1. Muß man den AD-Wandler separat abschalten (oder wegfusseln) um die Port Pins zu nutzen ? Weiß leider nicht mehr so recht was ich falsch gemacht haben könnte und habe gerade auch kein Oszi zur Hand. Wär schön wenn mir jemand helfen kann. Gruß Rene