Guten Abend, ich habe folgendes Problem und zwar versuche ich schon den ganzen Tag eine LED an einem MAX6956 zum leuchten zu bewegen. Angeschlossen ist alles wie auf dem Schaltplan bzw. laut Datenblatt. D.h. SDA mit SDA (PC.4) und SCL mit SCL (PC.5). Dazu laut Datenblatt PullUp Widerstände 4,7kOhm. Nun hab ich meinen Controller mit Bascom programmiert leider führte dies und auch meine Suche hier im Forum und in Google zu keinen wirklichen Ergebnis. Ein anderes Problem hab ich mit dem Ablauf meiner I2C Routine da ich ja quasi keiner Möglichkeit habe und auch kein Digitales Oszi ob meine gesendeten Werte überhaupt empfangen und richtig waren. Datenblatt: http://datasheets.maxim-ic.com/en/ds/MAX6956.pdf Schaltplan: http://media.maxim-ic.com/images/appnotes/4021/4021Fig01.gif MFG Patrick
Nach weiteren Tag probieren und verzweifeln das Resultat... Die ersten 4 Leds von später 25 leuchten ist zwar noch nicht viel aber es klappt. Was ich dazu getan hab ich bin vom Software I2C auf Hardware TWI umgestiegen so kann ich auch gleich Problemlos die Ackn. Bits vom Empfänger auswerten und mit ein bischen ausprobieren und Datenblatt studium leuchten die Dinger endlich. Allerdings ist mir im laufe meiner Flash Aktionen mein AtMega88 (erst 1 Woche alt) gestorben ich hatte den ganzen Tag schon Fehler beim schreiben und zum schluss ging er garnicht mehr. Nur gut das ich noch einen ATMega 8 da hatte der tuts. Nun folgt die eigentliche Aufgabe Zahl zwischen (50 und - 20) empfangen und auf den LEDs ausgeben 2 Grad = 1 Led. D.h. kopplung ATmega 8 und Atmega 8 :-D über Uart. Hier der Code für die Ansteuerung... Code: [c] $regfile = "m8def.dat" 'Mega8 $crystal = 16000000 'Takt schnell genug für den Bus $hwstack = 32 $swstack = 8 $framesize = 24 $baud = 9600 $lib "i2c_twi.lbx" ' Für Hardware TWI (I2C) Config Scl = Portc.5 Config Sda = Portc.4 I2cinit 'I2C Init Config Twi = 400000 ' Initialisierung TWI Twcr = &B00000100 ' TWI einschaltten Dim Adresse As Byte , Wert As Byte , I As Byte Declare Sub I2c(byval Adresse As Byte , Byval Wert As Byte) I2cinit Print "Start" Call I2c(&H09 , &H55) 'Setzen der nichvorhanden Ports (Seite 5) Call I2c(&H0a , &H55) 'Setzen der nichvorhanden Ports (Seite 5) Call I2c(&H0b , &H00) 'Segment 15 - 12 as LED's Call I2c(&H04 , &H01) 'No Shutdown mode -> Baustein wird aktiv (Seite 16) Call I2c(&H02 , &H03) 'Globale Helligkeit (ziemlich dunkel von h00 bis h0F) (Seite 18) Do Call I2c(&H2c , &H01) 'LED Port12 on ' Call I2c(&H2d , &H00) 'LED Port13 off Call I2c(&H2e , &H01) 'LED Port 14 on Call I2c(&H2f , &H00) 'LED Port 15 off Waitms 500 Call I2c(&H2c , &H00) 'LED Port12 off Call I2c(&H2d , &H01) 'LED Port13 on Call I2c(&H2e , &H00) 'LED Port 14 off Call I2c(&H2f , &H01) ''LED Port 15 on Print "Ende" Waitms 500 Loop End Sub I2c(byval Adresse As Byte , Byval Wert As Byte) 'Ablauf laut Datenblatt (Seite 8, oben) Print "SUB" I2cstart 'Start I2cwbyte &H80 'Slave Adresse (7 Bit + RW) I2cwbyte Adresse 'Register Adresse ' I2cstart 'Wiederholter Start (muss nicht!) I2cwbyte Wert 'Register Wert Print Err 'Fehler bei Kommunikation = 1 I2cstop 'Stop Waitms 10 'Warten End Sub [c] Mit freundlichen Grüßen, Patrick
Hallo, ich finde einfach keinen Online-Shop bei dem ich den Maxim 6956 bekomme. Hat jemand da ne Ahnung wo ich den bekommen kann? danke, thomas
Moin Thomas, probier es mal bei DigiKey. http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=MAX6956AAI%2B-ND Gruss Uwe
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.