Max7313 I2C Probleme.

Gast #2020852
Lesenswert?
• ▲
▼
Hallo,

seit Tagen kämpfe ich nun schon damit, einen Max7313 (16 Port 
PWM-Treiber  I2C ansteuerbar) mit einem ATMEGA 328p oder ATMEGA 88 
anzusprechen.
Ich habe die I2C-Lib von Peter Fleury und auch diverse anderes versucht, 
doch es will einfach nicht klappen.

Wenn ich die Addresse des Bausteines schreibe, bekomme ich im TWSR immer 
den Status NACK zurück.

An der Hardware kann es eigentlich nicht liegen. Ich habe hier ein 
Arduino-Beispielprogramm, wenn ich das auf den ATMEGA schreibe, dann 
funktioniert es.

Vielleicht hat ja jemand mit diesem MAX7313 schon mal etwas gemacht, und 
kann mir vielleicht sagen, ob es da irgend etwas besonderes zu beachten 
gibt bei der I2C-Geschichte, oder mir mal ein kleines Beispielprogramm 
zur Verfügung stellen..?

Danke.
Gast #2022290
Lesenswert?
• ▲
▼
Hallo nochmal,

AD0 und AD2 sind auf GND, AD1 auf SCL. Das ergibt Addresse 0x10.

Wie gesagt wenn ich die Arduino-Libs benutze, dann geht es, nehm ich 
aber die I2C-Libs von Peter Fleury ohne den ganze Arduino-Overhead dann 
gehts nicht. Hardware ist alles das selbe und die Funktionsaufrufe auch. 
Nur eben die unterschiedliche Lib.
#2022354
Lesenswert?
• ▲
▼
Hi
dies geht bei dir nicht!
1
// send device address
2
  TWDR = address;
3
  TWCR = (1<<TWINT) | (1<<TWEN);

da deine Adresse FALSCH ist!!!!
Laut Definition von I2C bzw TWI ist die Adresse 7Bit lang richtig, aber 
wird beim Senden um 1 nach links verschoben!
Dein IC hat die Adr. von 0x10 richtig, aber das ganze mal 2 ist 0x20.
(Siehe DB vom MAX Figure 6:Slaveadress)

In den I2C-Funktionen muss als Adresse nicht die Adr. des ICs eingegeben 
werden, sondern das Commandbyte!!! ((Adr << 1) + RW)

Stephan

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.