Hi, habe ein seltsames Problem.
Mein mC scheint über Nacht kaputt gegangen zu sein.
Habe nun zum Testen eine Grundschaltung mit einem MK2 Programmer und
einer LED an PortA/Pin0 angeschlossen.
Nun ist es so, dass ich den mC via Atmel Studio programmieren und auch
Fuses setzen kann, soweit scheint alles zu funktionieren.
Aber irgendwie hab ich das Gefühl, dass der mC danach garnicht erst
startet. Die LED bleibt aus, Spannung liegt am Pin nicht an. Hab auch
verschiedene Ports/Pins ausprobiert.
Pinouts:
-MK2
MOSI - MOSI
MISO - MISO
SCK - SCK
RST - RST
VCC - +5V
GND - 0V
-Atmega32
MOSI, MISO, SCK, RST siehe oben
VCC/AVCC - +5V
GND/GND - 0V
PA0 - LED (PA0 -> LED(interner Vorwiderstand, 5V) -> 0V)
Programm:
1
#define F_CPU 1000000UL
2
#include<avr/io.h>
3
#include<util/delay.h>
4
intmain(void)
5
{
6
DDRA=0xFF;
7
while(true){
8
PORTA^=0xFF;
9
_delay_ms(1000);
10
}
11
}
Dabei benutze ich den internen 1mhz Takt. Auch mit einem 16mhz Takt
(Schaltung entsprechend erweitert) tut sich nichts. Das nur
Vollständigkeitshalber.
Wie gesagt, es tut sich nichts...
Schöne Gruß und danke
In der Zeit, die du jetzt gemessen/geschrieben hast, hättest du es
einfach mit dem Widerstand versuchen können...aber man kann ja auch
lieber noch 2h einen Fehler suchen..
Gruß
Marcus
Ingo schrieb:> Schaltbild...
Hab leider keine Software da, um einen zu erstellen. Aber das habe ich
doch oben beschrieben.
Marcus P. schrieb:> In der Zeit, die du jetzt gemessen/geschrieben hast, hättest du es> einfach mit dem Widerstand versuchen können...aber man kann ja auch> lieber noch 2h einen Fehler suchen..
Naja, Sonntags hat man ja Zeit. Nein Spaß, also einen Widerstand
zwischen dem MK2 und mC? Aber müssen das 10k Ohm sein? Müsste ich mir
mit kleineren sonst zusammenbauen, 10k hab ich nicht da...
Aber das mal außer acht, eigentlich kann es doch daran garnicht liegen,
oder? Ich meine ich habe das Teil jetzt schon soo lange ohne Probleme
betrieben und außerdem habe ich gelesen, das bei einfachen Schaltungen
ein Pullup nicht erforderlich ist, da ein interne Pullup-Widerstand
eingebaut ist.
Also muss das Problem doch wo anders sein...
Ich habe einen Mega1284P auf dem STK500, Programmieren und Lesen geht
alles normal.
Das Programm startet allerdings auch nicht.
Fuses sind auf Int. Oszi. Aber selbst wenn ich einen Quarz oder Ext.
Takt ranhänge und die Fuses entsprechend anpasse tut sich nichts.
Wenn ich den Controller gegen einen anderen 1284P tausche funktioniert
alles wie erwartet!
Dabei ist es auch egal ob ich mit dem ISP des STK500 programmiere oder
dem mySmartUSB light (angeschlossen am STK500).
Ich möchte jetzt ungern 6 Euro in die Tonne hauen, ist immerhin fast ein
Schnitzel :)
In der "Schaltung" wurde auch noch kein Stützkondensator zwischen +5V
und 0V erwähnt.
Und bzgl. 10kOhm am Reset:
AtmegaZerstörer schrieb:> eigentlich kann es doch daran garnicht liegen,> oder? Ich meine ich habe das Teil jetzt schon soo lange ohne Probleme> betrieben
So weit richtig, aber wenn man Fehler sucht, sollte man solche
potentielle Schwachstellen erst einmal eliminieren, besonders, wenn das
ganz einfach ist - es muss auch nicht genau 10k sein.
Gruß Dietrich
Disku schrieb:> Dann such mal wo die -2V herkommen.
Bin dabei... werde vorsichtshalber mal den USB-Treiber neu
installieren...wer weiß.
Dietrich L. schrieb:> In der "Schaltung" wurde auch noch kein Stützkondensator zwischen +5V> und 0V erwähnt.
Hab ich, hab´s nur vergessen zu erwähnen...
Dietrich L. schrieb:> So weit richtig, aber wenn man Fehler sucht, sollte man solche> potentielle Schwachstellen erst einmal eliminieren, besonders, wenn das> ganz einfach ist - es muss auch nicht genau 10k sein.
Hab jetzt 3x 680 Ohm.
Naja, ich schau mal, ob ich irgendwie herausfinde, woher die -2V
kommen... versteh ich nicht oO
Erschlagt mich wenn ihr wollt.
Meistens sollte man doch, wenn man nicht weiterkommt, einfach mal
gucken, ob das Problem vielleicht kleiner ist, als man annimmt...
Eine Stelle hatte kein Kontakt mit dem Board... so ein Mist!
Aber so am Rande. Ist es normal, dass ich die Resetleitung abbauen kann,
sodass RST unbelegt ist, und dass der mC dann einfach weiter läuft?
Klar kannst du den externen Reset deaktivieren. Dafür gibts ja
schließlich die RSTDISBL-Fuse. Aber das WILLST du nicht wirklich. Damit
verlierst du nämlich jede Möglichkeit, mit deinem Programmiergerät auf
den µC zuzugreifen.
Gruß
Marius
AtmegaZerstörer schrieb:> Ist es normal, dass ich die Resetleitung abbauen kann,> sodass RST unbelegt ist, und dass der mC dann einfach weiter läuft?
Ich bin mir nicht sicher, was Du unter "abbauen" verstehst, daher mal
auf Verdacht:
Bei offenem RESET-Pin geht der Pegel auf "High", d.h. der µC verlässt
nach Einschalten den Reset-Zustand und läuft und läuft ....
Der zusätzliche Ziehwiderstand wird empfohlen,
- damit der Programmer an der Reset-Leitung sicher ein High-Pegel
erkennt (AVRISP MKII empfiehlt einen Widerstand von minimal 4,7kOhm),
- damit der µC (ohne Programmer) nicht so störempfindlich ist und sich
auf der Reset-Leitung was einfängt, das dann einen Reset auslöst (der
interne Pullup ist recht hochohmig). Hier hilft auch ein zusätzlicher
Kondensator zwischen Reset und GND.
Gruß Dietrich