Hallo, ich versuche a, GPIO-Demoboard von Microchip den I²C Bus zu nutzen um einen "Tastenbaustein" von Maxim anzusteuern (MAX7349). Sobald ich die Datenleitung des MAX7349 an den I²C Bus anschließe, wird diese Leitung auf Masse gezogen. Der ganze I²C Bus ist dann quasi TOT. Hab schon den 2. Baustein auf meiner Platine aber keine Besserung. Ist das Verhalten Normal? Hab ich vielleicht was vom I²C falsch verstanden? Gruß Stefan
Hi, Hier der Schaltplan meines Testboardes. Damit gehe ich dann auch die bereits Funktionierende I²C Schnittstelle des Microchip GPIO-Demo Boardes. Diese Wiederum führt direkt zu den I²C Pins des PIC´s. Gruß stefan
Da felt schonmal der Abblockkondensator am MAX7349. Abgesehen davon fällt mir nichts schlimmes auf und der MAX darf eigentlich nicht von sich aus den Bus auf low ziehen. Der PIC läuft vermutlich mit 5V?
Hi, ja der läuft mit 5V. Aber die Verbindung zum Max7349 besteht nur über die gemeinsame Masse und über die I²C Leitungen. Diese sind laut Datenblatt 5V kompatibel. Anstatt Kondensator hab ich ein einzelnes Labornetzteil für die sauberen 3,3V - Aber ich probiers aus. Pullups sind auf dem Microchip GPIO Demomodul. Dort funktioniert auch schon die I²C Kommunikation mit den Mircochip Portbausteinen MCP23008 usw. auch das Display funktioniert. Eben bis ich den Max anschließe - dann ist der Bus TOT. Die Leitung hat keinen kurzschluß!. Hab schon den 2. Max drin. Hab das Gefühl der WILL die Leitung runter ziehen. Deswegen dachte ich ich habe was mit dem I²C Protokoll nicht verstanden. Gruß Stefan
HI, ich habs. Mein Multimeter zeigte gut 0,5V falsch an - ich glaub ich habe beide MAX7349 geschrottet. Mit nem neuen gehts nun, die Spannungsversorgung mach ich nun lieber über nen LM3940 - dann geht da nichts schief. Nun ne frage zur Kommunikation. Ich Programmier das mit dem C18 Compiler in C. Ich möchte den MAX ansprechen. Geht das in dieser Art? I2CStart(); WriteI2C(0x70); // Opcode write mode, addr ess 0x01 WaitForACK; WriteI2C(0x00); // Command Byte: Keys FIFo WaitForACK; WriteI2C(0xff); // Data byte: D0-D7=High WaitForACK; I2CStop(); Gruß Stefan
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.