Nach weiteren Tag probieren und verzweifeln das Resultat... =D>
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...
Mit freundlichen Grüßen,Code:$regfile = "m8def.dat" $crystal = 16000000 $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 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) Waitms 1000 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 Call I2c(&H02 , &H03) 'Global Intensity Do Call I2c(&H2c , &H01) 'LED Port12 on ' Call I2c(&H2d , &H00) 'LED Port13 off Call I2c(&H2e , &H01) '14 Call I2c(&H2f , &H00) '15 Waitms 500 Call I2c(&H2c , &H00) 'LED Port12 off Call I2c(&H2d , &H01) 'LED Port13 on Call I2c(&H2e , &H00) '14 Call I2c(&H2f , &H01) '15 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 'Wiederholter Start I2cwbyte Wert 'Register Wert Print Err I2cstop 'Stop Waitms 10 'Warten End Sub
Patrick





Zitieren


Lesezeichen