Re: max7311 testen ??? Kategorie: Programmierung (von André H. - 11.06.2006 8:01) | ||
Als Antwort auf max7311 testen ??? von Sascha - 11.06.2006 3:24 | ||
| ||
Hallo Sascha, > Wie würde denn ein Testprogramm aussehen, welches an Adresse 0 den Port 0 einschaltet ? Folgendes Programm erzeugt ein Lauflicht über alle 16 Ports: byte i; thread main { max7311.setw(0,0); //Ausgangsregister aller 16 Ports auf low setzen max7311.setDDRw(0,0); // Alle Ports als Ausgang loop { for i=0 ...15 { max7311.setw(0, 1 shl i); sleep 250; } } } > (aus den Jumpern werde ich leider immer noch nicht schlau) > Mein Testprogramm umfa�t bei meinen wilden Jumpertest´s (die gehen jetzt wenigstens leichter > drauf und wieder ab :o)) Adresse 0-7 Das mit den Jumpern beim MAX7311 ist leichter, als man denkt. Prinzipiell gibt es vier Möglichkeiten einen Jumper zu setzen: - GND (unten links) - SCL (unten rechts) - 5V(VDD) (oben links) - SDA (oben rechts) Hierbei übernehmen GND und SCL die Rolle eines Low-Bits, 5V und SDA die eines High-Bits. Das ist kann man sich ganz einfach merken: Jumper, die einen Low-Pegel repräsentieren sind unten. Jumper, die einen High-Pegel repräsentieren sind oben. Die erste Adresse(0) des MAX7311 ist GND SCL GND (A2, A1, A0). Die nächste wäre GND SCL 5V (1), dann GND SDA GND (2), GND SDA 5V (3), 5V SCL GND (4), 5V SCL 5V (5) usw. Die Adressen des MAX7311 sind in 8 Blöcken zu je 8 Adressen unterteilt, in denen jeweils andere Kombinationen aus 5V/GND und SDA/SCL die Rolle der High- und Low-Pegel übernehmen. Die Tabelle dafür befindet sich auch im Header des Moduls max7311.c2: Ich sehe grad', da� in der Tabelle SDA und SCL vertauscht sind, und SDA statt SCL als Low gesehen werden könnte. Es sollte daher so hei�en: /* Adressen: Low/High Low/High Low/High Stammadresse: */ /* 0 bis 7 = A2:GND/V+ A1:SCL/SDA A0:GND/V+ 0x20 */ /* 8 bis 15 = A2:GND/V+ A1:SCL/SDA A0:SCL/SDA 0x30 */ /* 16 bis 23 = A2:GND/V+ A1:GND/V+ A0:GND/V+ 0x40 */ /* 24 bis 31 = A2:GND/V+ A1:GND/V+ A0:SCL/SDA 0x50 */ /* 32 bis 39 = A2:SCL/SDA A1:SCL/SDA A0:GND/V+ 0xA0 */ /* 40 bis 47 = A2:SCL/SDA A1:SCL/SDA A0:SCL/SDA 0xB0 */ /* 48 bis 55 = A2:SCL/SDA A1:GND/V+ A0:GND/V+ 0xC0 */ /* 56 bis 63 = A2:SCL/SDA A1:GND/V+ A0:SCL/SDA 0xD0 */ Aber bei den Konstanten für die Adressen steht das ganze nochmal und ist dort korrekt. Die Stamadresse mu� nur zwecks Adresskonflikten mit anderen Bausteinen beachtet werden, bei denen es zu �berschneidungen kommen kann. MfG André H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | ||
Antwort schreiben Antworten: Re: max7311 testen ??? (von Sascha - 12.06.2006 5:43) Re: max7311 testen ??? (von Sascha - 12.06.2006 8:36) Re: max7311 testen ??? (von André H. - 12.06.2006 8:53) Re: max7311 testen ??? (von Sascha - 12.06.2006 9:35) Re: max7311 testen ??? (von Sascha - 13.06.2006 22:09) Re: max7311 testen ??? (von André H. - 14.06.2006 8:44) Re: max7311 testen ??? (von Sascha - 14.06.2006 16:51) Re: max7311 testen ??? (von Sascha - 15.06.2006 21:30) |