Forum: Mikrocontroller und Digitale Elektronik Microcontroller startet nicht


von DomeDome (Gast)


Lesenswert?

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

von Cyblord -. (cyblord)


Lesenswert?

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
von Route_66 (Gast)


Lesenswert?

DomeDome schrieb:
> #define F_CPU 20000000UL

So sollte man den Compiler nicht verarschen. Das müßte auch zum stark 
verlangsamten "Blinken" passen.

von DomeDome (Gast)


Lesenswert?

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

von Cyblord -. (cyblord)


Lesenswert?

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.

von sven (Gast)


Lesenswert?

Wie wird der µC getaktet? Intern oder extern mit Quarz, wenn mit Quarz, 
welche Frequenz?

73

von Joachim D. (Firma: JDCC) (scheppertreiber)


Lesenswert?

DomeDome schrieb:
> ich da immer noch nen Fehler drinne?

Vermutlich. Wie ist der RESET beschaltet ?

von DomeDome (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.