Microcontroller startet nicht

Gast #3502670
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
#3502675
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?
Gast #3502701
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
Gast #3502725
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.