Hallo, immer nachdem in folgenden Programmcode in den MC geladen habe,
kann ich keinen weiteren Programmcode mehr in den MC uploaden.
Normalerweise kann man ja einen MC x-beliebige mal wieder beschreiben.
Ich hab nun einen neuen. Des Programmcode upgeloaded. Das geliche
Problem. Kann nix mehr uploaden.
Das Programm soll eine Binärzahl in ein Schieberegister einlesen!
MC = Attiny13
Programmierplattform: Atmel Studio 4
(aus Franzis Lernpaket)
Hier der Code:
@Otto
Da ich Anfänger bin, weiß ich leider nicht was Fuses genau sind.
Allerdings hab ich in der vorhanden Software (Franzis Lernpaket) ein
Button namens "Bootloader and Fuses", den man vor dem ersten Gebrauch
des MCs drücken soll (hierbei soll Reset und Ground miteinander
verbunden sein).
Ich hab den Button gedrückt und ich kann wieder uploaden.
Weiß jemand ne Erklärung?
Wie hab ich mit dem Programmcode die sog. Fuses manipuliert?
Hallo Willi,
nein - mit Deinem Programm eher nicht - es wird an der SW des "Franzis
Lernpaket" liegen.
Evtl. suchst Du in der Beschreibung mal nach "Fuses".
Ansonsten empfehle ich Dir das Tutorium.
Gruss Otto
Warscheinlich arbeitet das Lernpaket mit nem Bootloader.
Ist keine Applikation geladen, wird der Bootloader immer von neume
ausgeführt.
Mit Applikation wird der Bootloader nur kurz nach dem Reset ausgeführt
und dann die Applikation.
Dann muß zum neu laden immer Reset gedrückt werden.
Peter
also ich hab den programmcode (das einzulesene byte) kurz geändert,
wollte es neu laden wieder gleiches problem.
wieder "bootloader and fuses" gedrückt, trotzdem fehler. Programm
geschlossen, wieder geöffnet, nochmal button gedrückt. Schon gehts
wieder.
Als absoluter MC-Laie ist das ganz schön schwierig das nun zu verstehen.
Vor allem da Bootloader und Fuses eben leider noch Fremdbegriffe für
mich sind. Hoffe das ändert sich schnell.
Wenn du ein µC mit Bootloader hast ist der wohl zerschossen. Wenn du ihn
direkt per ISP programmierst, hast du vielleicht vergessen den
Flashspeicher vorher zu löschen
Die PC-Software hat ein Timing-Problem. Deshalb gibt es ein Update:
http://www.b-kainka.de/LPmicrosUpdate.zip
Beschrieben ist das z.B. hier:
http://www.b-kainka.de/lpmikros.htm
Nein, ich kenne, besitze und benutze das Franzis-Zeug nicht, habe nur
mal aus Neugierde diesen Beitrag gelesen und die Kugel befragt.
Der bescheidene Tiny13
ich hasse den Total hab mal 20 von dennen so wie du geschrottet(zumglück
auf Geschäfts kosten).
Also hab damals auch geguckt was und warum der dadurch nimmer geht und
bin nach langer suche auch fündig geworden:
Du must den Watchdog explizit ausschalten (warum auch immer)
dann müste es funktionieren
Hab damals die dinger Programmiert und danach ging auch nixmehr nur wenn
ich es mit nem HVProgrer gemacht habe konnte ich die dinger wider
ansprechen.
Mein Code war auch einwandfrei er lief ja danach als Probe auch auf nem
Mega8
also probiers einfachmal mit watchdog ausschalten ganz am anfang von
deinem programm dann müste es gehen!
mfg
pastscho
Die Probleme mit dem Tiny13 und dem Watchdog treten auch meistens nur
auf wenn man mit viel warteschleifen arbeitet da kann des so pasieren
das die sich selbst zu tot aufhängen!
> wenn man mit viel warteschleifen arbeitet
Nagut, wer Sowas macht, der frisst auch kleine Kinder und steckt Häuser
an... ;-)
Spaß beiseite, der Tiny13 hat zwar nur einen Timer, der hat aber zwei
Compare-Units, da erübrigen sich Warteschleifen. Es ist immer besser,
andere Arbeit zu erledigen oder bis zum nächsten Interrupt zu pennen,
anstatt in einer Warteschleife Takte zu zählen.