Marten83
29.10.2007, 08:03
Guten Morgen!
Ich weiss so langsam nicht mehr weiter.
Ich habe folgendes Problem:
Ich habe mir das AVR-steuert-USB-Board von Elektor nachgebaut. Funktionierte auch nachdem ich es mit MysmartUSB programmiert hatte. Dann hatte ich noch ein altes Experimentier-Board hier mit einem Mega8 drauf und wollte damit dann mein Moodlight bauen. Klappte zuerst auch bis ich nach und nach Fehler festgestellt hatte. Ich dachte erst das liegt an meiner Programmierung, kam aber nicht drauf was falsch sein könnte. Dann kam ich auf die Idee das AVR-USB-Board als Entwicklungsboard zu benutzen. Habe ich gemacht und funktionierte auch erst ganz gut. Nach mehrmaligem Brennen hat das Display plötzlich wilde Zeichen angezeigt. Habe schon vermutet, dass es an dem Programmer (MysmartUSB) liegt und habe die Main.hex von Elektor wieder aufgespielt....funktionierte wieder alles. Jetzt stellte ich mir gerade die Frage ob das was mit den Fusebits zu tun haben könnte und wollte die mir MyAVR_Workpad auslesen (damit habe ich sie auch gesetzt) weil ja das in Bascom bekannlich nicht geht. Jetzt mach das Programm aber noch nichteinmal mehr das.
Ich habe jetzt erstmal keine weiteren Ideen mehr was da kaputt sein kann.
Hier noch ein paar Infos:
Fusebits wie von Elektor vorgegeben (0x3FDF)
Hier mein Programm:
$regfile = "m32def.dat" ' specify the used micro
$crystal = 12000000
$hwstack = 32
$swstack = 8
$framesize = 24
Dim Bd(9) As Byte
Dim Tmp As Single
Dim T As Integer
Config Portc.1 = Output
Reset Portc.1
Config 1wire = Portd.4
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcd = 20 * 4
Wait 1
Cursor Off Noblink
Cls
Wait 1
Do
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 300
1wreset
1wwrite &HCC
1wwrite &HBE
Bd(1) = 1wread(9) ' read bytes in array
1wreset
Shift Bd(1) , Right
T = Makeint(bd(1) , Bd(2))
Locate 2 , 1
Lcd T
Tmp = Bd(8) - Bd(7)
Tmp = Tmp / Bd(8)
Tmp = T + Tmp
Tmp = Tmp - 0.25
Locate 1 , 1
Lcd Tmp
Loop
End
Bascom Version 1.11.8.8
Wäre dankbar für jede Hilfe.
MfG
Marten83
<edit> Die Zeichen ändern sich auf dem Display wenn ich die Temperatur verändere.
Ich weiss so langsam nicht mehr weiter.
Ich habe folgendes Problem:
Ich habe mir das AVR-steuert-USB-Board von Elektor nachgebaut. Funktionierte auch nachdem ich es mit MysmartUSB programmiert hatte. Dann hatte ich noch ein altes Experimentier-Board hier mit einem Mega8 drauf und wollte damit dann mein Moodlight bauen. Klappte zuerst auch bis ich nach und nach Fehler festgestellt hatte. Ich dachte erst das liegt an meiner Programmierung, kam aber nicht drauf was falsch sein könnte. Dann kam ich auf die Idee das AVR-USB-Board als Entwicklungsboard zu benutzen. Habe ich gemacht und funktionierte auch erst ganz gut. Nach mehrmaligem Brennen hat das Display plötzlich wilde Zeichen angezeigt. Habe schon vermutet, dass es an dem Programmer (MysmartUSB) liegt und habe die Main.hex von Elektor wieder aufgespielt....funktionierte wieder alles. Jetzt stellte ich mir gerade die Frage ob das was mit den Fusebits zu tun haben könnte und wollte die mir MyAVR_Workpad auslesen (damit habe ich sie auch gesetzt) weil ja das in Bascom bekannlich nicht geht. Jetzt mach das Programm aber noch nichteinmal mehr das.
Ich habe jetzt erstmal keine weiteren Ideen mehr was da kaputt sein kann.
Hier noch ein paar Infos:
Fusebits wie von Elektor vorgegeben (0x3FDF)
Hier mein Programm:
$regfile = "m32def.dat" ' specify the used micro
$crystal = 12000000
$hwstack = 32
$swstack = 8
$framesize = 24
Dim Bd(9) As Byte
Dim Tmp As Single
Dim T As Integer
Config Portc.1 = Output
Reset Portc.1
Config 1wire = Portd.4
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcd = 20 * 4
Wait 1
Cursor Off Noblink
Cls
Wait 1
Do
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 300
1wreset
1wwrite &HCC
1wwrite &HBE
Bd(1) = 1wread(9) ' read bytes in array
1wreset
Shift Bd(1) , Right
T = Makeint(bd(1) , Bd(2))
Locate 2 , 1
Lcd T
Tmp = Bd(8) - Bd(7)
Tmp = Tmp / Bd(8)
Tmp = T + Tmp
Tmp = Tmp - 0.25
Locate 1 , 1
Lcd Tmp
Loop
End
Bascom Version 1.11.8.8
Wäre dankbar für jede Hilfe.
MfG
Marten83
<edit> Die Zeichen ändern sich auf dem Display wenn ich die Temperatur verändere.