Forum: Mikrocontroller und Digitale Elektronik Hilfe, es passiert nichts


von Thomas (Gast)


Lesenswert?

Hallo,

ich versuche gerade meine ersten Schritte in der MC Welt. Mit Hilfe des 
Tutorials hab ich mir auf einem Steckbrett einen Atmega32 aufgebaut. 
Über Atmel Studio (6.0) habe ich den Code (siehe unten) auf einen 
Atmega32 geladen...ohne Fehler. Die Lämpchen des ISP (mySmartUSB light) 
blinken beim uploaden. Das Board hat Strom, habe ich nachgemessen. Die 
LED funktioniert auch. Wenn ich den Flash Speicher auslese, sehe ich da 
auch was drin stehen. Ein Quarz ist zwar angschlossen, aber wenn ich die 
Fuse Bits (HIGH 0x99, LOW 0xE1) richtig verstehe, wird über 1Mhz intern 
getaktet.
Nur eins ist wahrschinlich nicht so, wie es sein soll. Ich bekomme eine 
Warnung "15:36:35: [WARNING] Read voltage 0,0V is outside selected 
device's operating range: 2,7 V to 5,5 V.". Ein Schreiben der Spannung 
geht irgendwie nicht.
Kann mir jemand bitte weiter helfen? Danke schonmal
1
#define F_CPU 1000000
2
#include <avr/io.h>
3
4
int main (void)
5
{
6
  /* set PORTB for output*/
7
  DDRB = 0xFF;
8
  
9
  /* set PORTB high */
10
  PORTB = 0xFF;
11
12
  return 1;
13
}

von Nico (nico123)


Lesenswert?

Die Endlosschleife fehlt!

von Michael (Gast)


Lesenswert?

Thomas schrieb:
> Ich bekomme eine Warnung

Von wem?
Der µC wird bei dem Programm nicht viel tun.

von Thomas (Gast)


Lesenswert?

Die Warnung kommt von Atmel Studio, wenn ich µC mit "Device Programming 
auslesen will. Beim Hochladen des Code kommt kein Fehler oder Warnung. 
Ich habe mal eine Endlosschleife ergänzt (s.u.)...hab schon alles 
möglich probiert.
1
#define F_CPU 1000000
2
#include <avr/io.h>
3
4
int main (void)
5
{  
6
  /* set PORTB for output*/
7
  DDRB = 0xFF;
8
  while (1)
9
   {
10
  
11
    /* set PORTB high */
12
    PORTB = 0xFF;
13
   }  
14
}

von R. F. (rfr)


Lesenswert?

Thomas schrieb:

> #define F_CPU 1000000
> #include <avr/io.h>
>
> int main (void)
> {
>   /* set PORTB for output*/
>   DDRB = 0xFF;
>
>   /* set PORTB high */
>   PORTB = 0xFF;

unsigned char z = 0xFF;
>

while(1){

PORTB = z;
nop; nop; nop; nop; nop;
nop; nop; nop; nop; nop;
nop; nop; nop; nop; nop;
nop; nop; nop; nop; nop;
z--;
}


Versuche es mal damit, am Ausgang sollte mit steigender Wertigkeit 50 
kHz und dann mit steigender Wertigkeit sinkende Frequenzen erkennbar 
sein. Nachzuweisen per Oszilloskop oder Ohrhörer, falls das Oszi mit so 
langsamen Signalen nicht klarkommen sollte.

Gruss

Robert

von Nico (nico123)


Lesenswert?

Und was passiert? Wie ist denn die LED angeschlossen?
Bist Du sicher, dass Du das richtige Programm in den µC lädst?

von Michael (Gast)


Lesenswert?

Nico ... schrieb:
> Wie ist denn die LED angeschlossen?

Da höre ich die versteckte Frage nach einem Schaltplan raus.

von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

Michael schrieb:
> Nico ... schrieb:
>> Wie ist denn die LED angeschlossen?
>
> Da höre ich die versteckte Frage nach einem Schaltplan raus.

Nunja, ich habe auch den PIN Ausgang selber mit nem Multimeter gemessen. 
Es passiert rein gar nichts. Die rote LED ist nur als Anzeige, dass 
Spannung da ist. Das Programmer Kabel steckt nicht im ISP.
Es muss ja nicht mal blinken. Ich wäre ja schon zufrieden, wenn ich 
nicht schon am LED anschalten scheitern würde.
Ich habe mal ein Foto der Schaltung beigefügt

von Thomas (Gast)


Lesenswert?

achja, ich habe nur das o.g. Programm in Atmel Studio.

von Al3ko -. (al3ko)


Lesenswert?

1.8MB wtf!

von Nico (nico123)


Lesenswert?

Du hast keinen Pullup-Widerstand am Reset-Pin richtig?

von Michael (Gast)


Lesenswert?

Thomas schrieb:
> Es passiert rein gar nichts.

Was erwartest du denn - LEDs für ein Lauflicht sind nirgendwo zu sehen.

von Thomas (Gast)


Lesenswert?

Nico ... schrieb:
> Du hast keinen Pullup-Widerstand am Reset-Pin richtig?

Doch 10k

von Thomas (Gast)


Lesenswert?

Thomas schrieb:
> Nico ... schrieb:
>> Du hast keinen Pullup-Widerstand am Reset-Pin richtig?
>
> Doch 10k

Oh, hat sich erledigt. Hatte den als Pull Down angeschlossen. Jetzt 
leuchtet es. Darauf hätte ich auch selber kommen können :( Vielen Dank

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.