Forum: Mikrocontroller und Digitale Elektronik Atmega8 undefinierte Signale an den Pins


von Boris (Gast)


Lesenswert?

Hallo zusammen.
Ich habe hier einen atmega8 liegen den ich für ein Projekt programmieren 
soll.
Dafür wollte ich ihn erst mal testen und mich langsam in die 
Programmierung einarbeiten.
Ich habe mit AtmelStudio6 folgenden Test geschrieben:
1
#define F_CPU 16000000
2
#include <avr/io.h>
3
4
int main(void)
5
{
6
  DDRD = 0xFF;
7
  PORTD = (1<<PD5);
8
    while(1)
9
    {
10
        
11
    }
12
}
Dann das ganze kompiliert und mit PonyProg die .hex auf meinen uC 
gespielt (hat ohne Probleme funktioniert). Wenn ich jetzt allerdings an 
PD5 die Spannung messe, erhalte ich völlig wirre Signale. Es hüpft 
einfach dauernd zwischen irgendwelchen Werten hin und her.

Ich bedanke mich schonmal für die Antworten und hoffe ihr könnt mir 
helfen.

Liebe Grüße vom Ammersee

Boris

von spess53 (Gast)


Lesenswert?

Hi

>Wenn ich jetzt allerdings an
>PD5 die Spannung messe, erhalte ich völlig wirre Signale. Es hüpft
>einfach dauernd zwischen irgendwelchen Werten hin und her.

Masse zum Messen korrekt angeschlossen?

MfG Spess

von 4toTakoe (Gast)


Lesenswert?

- wie sieht deine Spannungsversorgung aus?
- Verdrahtung richtig (alle Vcc, GND etc.) angeschlossen?
- welches Messgerät?
- Messgerät auf richtiges Bezugspotential?
- Messgerät auf AC-Messbereich?
- usw...

von Boris (Gast)


Lesenswert?

Hallo,
Spannungsversorgung über ein Netzteil. Was mir gerade noch einfällt: Es 
handelt sich um das Atmel Evaluationsboard 2.01.
Als GND Potenial nehme ich den GND-Pin.
Zwischen GND und Vcc am uC habe ich 5 Volt.
Messgerät normales Multimeter.

von spess53 (Gast)


Lesenswert?

Hi

Misst du auch am richtigen Pin? Neben PD5 liegt XTAL2.

MfG Spess

von Boris (Gast)


Lesenswert?

ja, ich hab den richtigen Pin erwischt. Ist vielleicht was an dem Code 
falsch? Oder kann es sein das das hex-File einen Fehler hat? Eigentlich 
müssten doch jetzt zwischen GND und PD5 5 Volt anliegen oder?

Grüße

von Uwe (Gast)


Lesenswert?

Erst Erasen dann Programmieren. Denn Flash kann nur auf 0 "programmiert" 
werden, du kannst keine Bits im Flash auf 1 zurücksetzen. der Erase 
setzt alle Bits auf 1 zurück, erst danach kann man das Flash 
beschreiben.
Wenn man das nicht macht steht jetzt im AVR ein Mischmasch aus alter 
Software (die vorher drauf war) und deinem neuen Programm.
Wenn der Controller Jungfräulich ist geht es beim ersten mal gut.

von Boris (Gast)


Lesenswert?

Hallo nochmal,
ich habe jetzt den flash gelöscht und dann nochmal "write Device" und 
"write programm memory". Jetzt habe ich 0,5 Volt an PD5. Welches ist 
eigentlich der richtige "Knopf" um das Programm auf den uC zu laden?

von Thomas D. (thomasderbastler)


Angehängte Dateien:

Lesenswert?

Write Programm Memory (Flash) 5te von Links

von amateur (Gast)


Lesenswert?

@Boris

Ich bin mir nicht sicher, ob es auf das Studio 6 auch zutrifft. Früher 
gab es das Problem, dass bei einem Projektwechsel, der Pfad der auf die 
.Hex-Datei im Programmierdialog nicht automatisch geändert wurde. Man 
hat dann die "alte" Datei geschrieben.
Auch weis ich nicht wie "Umschaltung" zwischen Debug und Release auf 
Ebene des Flashers funktioniert.

von Boris (Gast)


Lesenswert?

danke.
Ich bin leider immer noch nicht hinter das Problem gekommen. Den Pfad 
habe ich immer richtig angegeben.
Jetzt habe ich PD5 auf 'low' gesetzt. Habe aber trotzdem 0,5 Volt am 
Pin. Ich verstehe das nicht.

Grüße

von Boris (Gast)


Lesenswert?

Hallo zusammen,
es ist jetzt noch ein Problem aufgetreten. Manchmal klappt es den uC zu 
flashen, und manchmal erhalte ich einen Fehler. Ich arbeite mit Win7 64 
Bit

Meistens klappt es, wenn ich vorher "read device" mache

von amateur (Gast)


Lesenswert?

Ich würde mal explizit die Versorgung überprüfen und zwar nicht mit 
einem sehr hochohmigen Multimeter, sondern mit was niederohmigen.
Notfalls kleine Glühbirne wechselweise an +5V und Masse und auch nicht 
an den Lötstellen, sondern, wenn möglich, an den Gehäusepins.

Du schriebst, dass Du anfangs Hardwareschwierigkeiten hattest. Bist Du 
sicher, dass diese behoben sind?
Im Zweifelsfalle setze ich die Dinger gerne auf den Lieferzustand 
zurück, interner Takt, 1:8, um den ganzen Quarzkram auszuklammern.
Stimmt der Pegel am Reset-Pin?
Soweit ich weiß, muss die Analogspannung auch dann angeschlossen werden, 
wenn die A/D-Wandler ungenutzt sind.

von Boris (Gast)


Lesenswert?

Hallo zusammen,
Problem gelöst. Ich habe nach einem Tipp das Datenkabel gekürzt. Es war 
vorher 2m lang. Jetzt funktioniert alles bestens.

LG
Boris

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.