Lord_Vader
30.11.2008, 15:03
Hey,
ich hab mehrere Datasätze. Das erste byte beschreibt die anzahl der Animationen (für einen 4x4x4 Led-cube). Der rest sind die werte für die leds, die ich in ein array schreibe.
$eeprom
Label1:
Data 3
Data 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1
Data 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
$data
Dann kommt die routine die die animation wiedergibt:
Sub Readprom(byval Speed As Byte)
Local Animcount As Byte
Local Cnt As Byte , Onecube As Byte
Do
Readeeprom Animcount , Label1
' 1. for schleife für animationsbilder
For Cnt = 1 To Animcount
For Onecube = 1 To 64
Readeeprom Cube(onecube)
Next
Writeshift
Waitms Speed
Next
Loop Until Button = 1
End Sub
Jetzt bekomme ich ja zu der HEX eine EEP datei. Diese schreibe ich mit Burn-O-Mat (avr-dude) im raw-format ins eeprom. Das schein auch zu funktionieren. Er schreibt genau 193Bytes. Pro animation 64 + das byte für die anzahl.
Dummerweise gibts er nur alle LEDs als "AN" oder "1" aus. Es scheint mir als sei der EEProm noch leer oder er liest leere stellen. Weil darin ja normal HEX F stehen sollte, wenn dieser leer ist.
Macht das sonst noch jemand mit AVR dude?
Also ich habe das pollin-funk board und programmiere über ISP schnittstelle und COM1 also RS232, kein USB.
MfG Kristian
Edit:
Ok mit eepromhex$ kann man die eep als HEX datei ausgeben lassen. Funktioniert auch diese zu schreiben. Aber ich habe immernoch das problem, das nur 1sen oder größer in das array geschrieben werden.
Was ist denn am code falsch, was mache ich falsch???
ich hab mehrere Datasätze. Das erste byte beschreibt die anzahl der Animationen (für einen 4x4x4 Led-cube). Der rest sind die werte für die leds, die ich in ein array schreibe.
$eeprom
Label1:
Data 3
Data 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1
Data 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
$data
Dann kommt die routine die die animation wiedergibt:
Sub Readprom(byval Speed As Byte)
Local Animcount As Byte
Local Cnt As Byte , Onecube As Byte
Do
Readeeprom Animcount , Label1
' 1. for schleife für animationsbilder
For Cnt = 1 To Animcount
For Onecube = 1 To 64
Readeeprom Cube(onecube)
Next
Writeshift
Waitms Speed
Next
Loop Until Button = 1
End Sub
Jetzt bekomme ich ja zu der HEX eine EEP datei. Diese schreibe ich mit Burn-O-Mat (avr-dude) im raw-format ins eeprom. Das schein auch zu funktionieren. Er schreibt genau 193Bytes. Pro animation 64 + das byte für die anzahl.
Dummerweise gibts er nur alle LEDs als "AN" oder "1" aus. Es scheint mir als sei der EEProm noch leer oder er liest leere stellen. Weil darin ja normal HEX F stehen sollte, wenn dieser leer ist.
Macht das sonst noch jemand mit AVR dude?
Also ich habe das pollin-funk board und programmiere über ISP schnittstelle und COM1 also RS232, kein USB.
MfG Kristian
Edit:
Ok mit eepromhex$ kann man die eep als HEX datei ausgeben lassen. Funktioniert auch diese zu schreiben. Aber ich habe immernoch das problem, das nur 1sen oder größer in das array geschrieben werden.
Was ist denn am code falsch, was mache ich falsch???