Vor dem main ein int einfügen. Die geschwungene Klammer beim while(1) kannst du gegen einen ; tauschen. Ist zwar kein Fehler, ist aber besser.
Moin,
Also ich habe seit heute meinen USB-Programmer (STK500vII). Nun habe ich in C folgendes Programm geschrieben:
Code:#include <avr/io.h> main (void) { DDRC |= (1<<PC0); PORTC |= (1<<PC0); while(1) { } return 0; }
Es sollte eigentlich PortC Pin 0 auf High setzen. Doch er ist auf low. Beim Programmieren gibt es keine Errors und beim Build auch nicht.
Kommt mir alles sehr seltsam vor. Bitte helft mir :S
MfG Jan
Vor dem main ein int einfügen. Die geschwungene Klammer beim while(1) kannst du gegen einen ; tauschen. Ist zwar kein Fehler, ist aber besser.
Soo habs nochmal getestet aber jetzt meint er zu mir: WARNING: FLASH byte address 0x0000 is 0xFF (should be 0x12).. FAILED!
Kanns sein, dass der Controller einfach kaputt ist? Denn gerade eben lies er sich ja noch programmieren.
MfG Jan
Stimmt denn der im Programmer ausgewählte Controller mit dem zu programmierenden überein?
#ifndef MfG
#define MfG
Ja passt alles. Das hab ich als erstes überprüft...
MfG Jan
Nen anderen (gleichen) Controller hast du nicht zufällig rumliegen?
Oder anders: Ist irgend ein Programm drauf, mit dem man erkennen kann, ob der Controller funktioniert? Wenn ja: Zieh mal den Reset-Pin manuell gegen Masse, ob dann ein Reset ausgeführt wird, oder ob der einfach weiterrennt.
Vor kurzem hab ich auch dieses "Kunststück" geschafft, dass ich unbeabsichtigt das RSTDISBL-Fuse gesetzt hab.
#ifndef MfG
#define MfG
Also ich hoffe, die Hardware ist korrekt.
Hast du auch RESET an + und die Spannung mit einem Kondensator entstört?
Hast du die Fuses für den internen Takt gesetzt oder stimmt die Konfiguration für Quarzoszi oder Quarz? Und sind diese (falls vorhanden) auch korrekt eingebaut? Stimmen vielleicht die Kondensatoren für den Quarz nicht oder hängt der Oszi am falschen XTAL-Pin?
Nun zum Controller selber:
Schonmal mit Rettungstakt versucht oder im Simulator getestet?
Und hast du den Controller schon mal verwendet?
Valentin
Also Hardwaremäßig hab ich alles x-mal auf Richtigkeit überprüft, stimmt alles.Zitat von Valentin
Wenn ich Reset auf Masse zieh, leuchtet die LED einfach weiter. Entstörkondensator (100nF) ist auch verbaut.
Fuses und so hab ich nicht angefasst, da es meine ersten Versuche mit Controllern sind.
MfG Jan
Das Programm sollte funktionieren, habe es im Simulator getestet, das einzige, was nicht ganz gestimmt hat ist, wenn ich while(1) schreibe, setzt er den Pin nicht, ich vermute aber, dass das mit dem Simulator zusammenhängt. funktioniert der ISP Adapter? Ist der Port richtig eingestellt?
Es tut sich nichts. Es kommt jedes Mal der Error "WARNING: FLASH byte address 0x0000 is 0xFF (should be 0x12).. FAILED!". Ich habs mit Stromversorgung durch den Programmer und über die Batterie (6V an 7805) versucht. Kein Unterschied. Der Reset mit dem Programmer funktioniert, aber nicht der manuelle.
MfG Jan
Lesezeichen