PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit MysmartUSB und Anderem!



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.

Marten83
29.10.2007, 12:31
Nach einiger Recherche hier im Forum ist mir etwas aufgefallen.
Kann das alles mit der Frequenz, mit der ich den Mikrocontroller betreibe, zu tun haben?
Ich kann mir vorstellen, dass die Zeiten nach einem 1wreset zu kurz sind und der DS18s20 noch gar nicht bereit zum Empfang/Senden von Daten.
Ich glaube allerdings, dass ich früher das gleiche auch bei ähnlichen Frequenzen Programmiert habe.
Ich werde das mal heute Abend testen.

Und nochwas:

Mir ist aufgefallen, dass wenn ich bei dem MysmartUSB die Stromversorgung für das Board abschalte, also das Board eine eigene Stromversorgung hat, die rote LED leuchtet wenn ich sowohl nur den Programmer am USB habe und wenn er nicht am USB ist aber das Board angeschlossen ist und eine eigene Stromversorgung hat.
Das heisst doch eigentlich, dass die beiden Stromversorgungen trotzdem miteinander verbunden sind, oder?

Jahn Kohlhas
30.10.2007, 09:23
Hallo,

der mySmartUSB hat ne duale Spannungsversorgung von USB oder von der Zielschaltung... das ist absolut korrekt...

wenn du mit dem Workpad die Fuses ausliest sollten auf dem mySmartUSB die rote LED an sein (Programmier-Mode) und die beiden grünen LEDs flackern (Datenübertragung)... tun sie das?


gruß J.

Marten83
30.10.2007, 10:46
Gestern habe ich das nochmal ausprobiert.
Bei dem Mega8Board war das kein Problem mit den Fusebits.
Leider komm ich an die Fusebits des mega32 nicht mehr ran, keine Ahnung warum.
Die LED's leuchten soweit korrekt.
Das Workpad sagt was von "Einstellungen konnten nicht ermittelt werden" oder so (muss das heute Abend nochmal genau nachsehen).
Programmieren klappt soweit und das Problem mit dem Display und dem DS18S20 am Mega8 hat sich nach Umstellung der Frequenz von 8 auf 1 Mhz anscheinend erledigt. Zumindest hat es heute Morgen geklappt.

Marten83