Hallo, bin in der Microcontroller-Scene neu. Habe mir das STK500 Starterkid geholt und dazu noch einen Attiny13. Das STK500 lässt sich mit dem mitgelieferten AVR-Studio4 wunderbar verbinden, auch der Attiny13 wird erkannt. Flashen kann ich ihn auch, aber anscheinen will dieser einfach das geflashte Programm nicht starten. Ich programmiere in C, und da ich zuvor schon in C# 3D-Simulationen programmiert habe seit paar Jahren, glaube ich weniger dass es am Programm liegen wird, habe dieses auch abgegelichen mit Beispielen im Internet welche zum Teil identisch sind. Das Programm soll zum testen einfach mal eine LED zum blinken bringen. Hier der Code: #define F_CPU 20000000UL #include<avr/io.h> #include<util/delay.h> int main(){ DDRB = 0x10; while(1){ PORTB |= (1<<PB4); _delay_ms(500); PORTB &= ~(1<<PB4); _delay_ms(500); } } Wie gestagt, ich versteh einfach nicht wo der Fehler liegt... Beim Flashen wird mir kein Fehler angezeigt und wenn ich das Programm vom Microcontroller auslese ist dies auch drauf gespeichert, also das Flashen klappt. Blos will der das Programm anscheinend nicht starten... Teste das Programm am STK500, also habe mir (noch)nix selber zamm gelötet. Habe am STK500 beim Attiny13 beim Port4 auch mal gemessen ob sich was tut, das seltsamme ist, mal ist 4,5V auf allen Ports, nach einem neustart ist mal wieder auf garkeinen was drauf... und jetzt habe ich auch schon gehabt, dass nur auf port 4 alle 5 sekunden zwischen 0.6V und 0V wechselt... also tut sich doch was, aber warum alle 5Sek? das programm sagt ja er soll alle halbe Sekunde zwischen 1 und 0 schalten und warum kommen nur 0.6V heraus? Eingangsspannung beträgt 5V, habe ich auch schon gemessen. Bin am verzweifeln, habe keine Ahnung woran es liegen könnte und finde im Internet auch nix passendes was mir weiterhelfen könnte... viele Grüße Dome
Mess mal den Pegel an Reset vom Controller. Deine Messungen geben keinen Sinn. Irgendwas stimmt mit deiner Stromversorgung nicht. Und warum arbeitest du bei PORTB schön mit Symbolen und bei DDRB haust du eine umständliche und fehlerträchtige Hexzahl rein? Mach das auch mit (1<<PB4), dann ist jedem klar obs der richtige Portpin ist. Läuft dein Controller denn auch WIRKLICH mit den angegebenen 20 MHz?
:
Bearbeitet durch User
DomeDome schrieb: > #define F_CPU 20000000UL So sollte man den Compiler nicht verarschen. Das müßte auch zum stark verlangsamten "Blinken" passen.
Keine Ahnung was jetzt anders ist, aber auf einmal läuft das programm jetzt. Hab die MHz jetzt auf 9,6 runter gemacht, jetzt klappt das mit dem Blinken auch. Danke. Blos was ich jetzt nicht ganz verstehe ist, dass das Programm nur abläuft wenn ich den RESET Knopf gedrücktk halte, gehört das so oder hab ich da immer noch nen Fehler drinne? viele Grüße Dome
DomeDome schrieb: > Blos was ich jetzt nicht ganz verstehe ist, dass das Programm nur > abläuft wenn ich den RESET Knopf gedrücktk halte, gehört das so oder hab > ich da immer noch nen Fehler drinne? Das sollte genau andersrum sein. Wenn Reset gedrückt ist, geht da gar nichts. Du hast definitv irgendein Problem.
Wie wird der µC getaktet? Intern oder extern mit Quarz, wenn mit Quarz, welche Frequenz? 73
Habe jetzt alles noch einmal neu Installiert und nen neuen MC hergenommen und das Programm drauf Geflasht, jetzt klappt alles wunderbar. Danke für eure Hilfe und schnellen Antowrten :) viele Grüße Dome
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.