Controller lässt sich programmieren aber arbeitet nicht.

Gast #3131922
Ja ein freundliches Hallo erstmal,

und zwar wollte ich ein Programm zur Steuerung eines Stepdown Wandlers 
auf einen Mega88 aufspielen.
Als Test versuchte ich erstmal nur die PWM aufzuspielen. Die 
Programmierung und die Verifikation des Flash funktionierten 
einwandfrei. Doch er fängt einfach nicht an zu laufen.
Selbst ein einfaches Programm wie:
while(1){
DDRB = 0xFF;
PORTB = 0xFF;
PORTB = 0x00;}

funktioniert nicht.
Alle Fuses sind unverändert. Default Einstellung wurde überprüft.

Er rennt einfach nicht los.

Als Takt benutze ich den Internen Takt von 8MHz mit Teiler 8 wie im 
Default Modus.

Programmiert wird er mittels AVR Dragon und als IDE verwende ich AVR 
Studio 6.

Schonmal vielen Dank für eure Hilfe.
Gast
PS: Das Programm ist schon in Ordnung, man könnte aber DDRB aus der 
Schleife nehmen (das muss man nur einmal schreiben). Wegoptimiert wird 
da gar nichts, Stichwort volatile.
Gast
ok man muss dazu sagen dass ich ihn oben etwas gekürzt habe:

eigentlich lautet er wie folgt:

#include <avr/io.h>
#ifndef F_CPU
#define F_CPU 1000000UL     /* Quarz mit 3.6864 Mhz */
#endif
#include <util/delay.h>

int main( void )
{
DDRB = 0xFF;
while(1)
     {
     PORTB = 0xFF;
     _delay_ms(50);
     PORTB = 0x00;
     _delay_ms(50);
     }
    return 0;
}
Gast
MeisterLampe schrieb:
> ok man muss dazu sagen dass ich ihn oben etwas gekürzt habe:
Grmpf! Was sollen wir den mit Code der gar nicht benutzt wird?

> #define F_CPU 1000000UL     /* Quarz mit 3.6864 Mhz */
Kommentar falsch. Außerdem gehört das ins Makefile.

Code ansich ist ok.
Gast
zuerst war es ohne, ging aber auch nicht, daher hab ich es eingebaut.

Grund war einfach nur dass ich dann eine LED zum testen verwenden kann 
und nicht immer das Oszi benutzen muss.
Gast
Am Programm selbst liegts nicht, habs eben mal auf nen ATmega168 
runtergeladen, soweit blinkt alles.
Studio6+STK+Dragon+ATmega168

Beschreib mal deine Hardware ...
Stromlauf?
Gast
An Port B ist schonmal der Programmieradapter dran ... due stellst den 
ganzen port auf Ausgang ... bemerkt ?
und wo mißt du denn dein angeblich nicht vorhandenes Signal ? Hofentlich 
an Port B.
Gast
Ja ich messe an Port B habe es aber auch schon mit Port D versucht, ohne 
Erfolg. Die LED halte ich einfach nur mit einem Bein auf den Pin. Am 
anderen Beinchen hängt ein 120ohm Widerstand.

Auch ein Messen mit dem Tastkopf vom Oszi brachte Nichts zu Tage.
Gast
Ja ich messe an Port B habe es aber auch schon mit Port C versucht, ohne 
Erfolg. Die LED halte ich einfach nur mit einem Bein auf den Pin. Am 
anderen Beinchen hängt ein 120ohm Widerstand.

Auch ein Messen mit dem Tastkopf vom Oszi brachte Nichts zu Tage.
Gast
Vielen Dank schonmal für eure Hilfe, aber leider geht es noch immer 
nicht.

Fusesettings poste ich nachher wenn ich Zeit habe, da ich gerade noch in 
der Uni bin.

Der richtige uC ist eingestellt, mehrmals überprüft.

Resetpin hat auch 5V.
Hast Du mal die Betriebsspannung und die Reset-Spannung nachgemessen, am 
Besten mit dem Oszi? Liegen da wirklich saubere 5 Volt?

7805 benötigen am Eingang mindestens 0,33µF, sonst neigen sie zum 
Schwingen (siehe Datenblatt).

PS
> Resetpin hat auch 5V.

Das hat sich leider überschnitten, aber trotzdem.
@MeisterLampe

Was mir noch einfällt:
- Hast Du den µC schon mal gewechselt? Vielleicht ist er ja kaputt...
- Schaltungsfehler? Kurzschluss / Unterbrechung?
- Problem mit den 5V? Schwingen, Störungen? Vielleicht durch den 
Leistungsteil?

Gruß Dietrich
Gast
ja theoretisch könnte ich debuggen bzw. einen anderen Controller 
verwenden, nur leider ist schon alles auf Platine und da habe ich aus 
Platzgründen nur einen 6 Pin Stecker verbaut.

Ich möchte jetzt eigentlich nicht den Controller auf gut Glück 
runterlöten und einen neuen drauf, ist halt tqfp32 und somit nicht meine 
Lieblingsbeschäftigung.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.