Forum: Mikrocontroller und Digitale Elektronik Probleme Atmega8 = PB1 auf High


von batmobil (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich bin neuling im Bereich Microkontrollerprogrammierung und habe 
folgendes Problem. Ich möchte bei einem Atmega8 den PB1 auf HIGH legen. 
Die Betriebsspannung ist 2,7V. Ich habe folgendes Programm geschrieben:

#include <avr/io.h>

int main (void)
{
 DDRB |= (1 << PB1);

 while (1)
 {
  PORTB |= (1 << PB1);  //PB1 High
 }

return 0;

}


Ich benutze den internen Oszillator den ich über die Fuses auf 2 Mhz 
eingestellt habe. Programmieren hat ohne Probleme funktioniert (siehe 
Bild). Wenn ich nun mit dem Multimeter an PB1 messe, habe ich dort keine 
2,7 V High sondern Messen nur ca. 70mV. Wo liegt das Problem?

von Cyblord -. (cyblord)


Lesenswert?

Nur der Mega8L kann bis 2,7V runter. Hast du die "L" Variante?

Misst du an VCC den deine 2,7V?


Ansonsten probiere mal mit 5V.

Warum krebst du als Neuling denn überhaupt am unteren Limit der 
Spannungsversorgung rum? Was soll das?

Das Programm selbst funktioniert auf jeden Fall.

: Bearbeitet durch User
von batmobil (Gast)


Lesenswert?

Ich habe den Atmega8A.

von Thomas E. (thomase)


Lesenswert?

batmobil schrieb:
> Die Betriebsspannung ist 2,7V. Ich habe folgendes Programm geschrieben:

Wenn der Brownout auf 4V steht, wirst du mit keinem Controller mit 2,7V 
glücklich. Brownout bedeutet, dass der Controller unterhalb der 
ausgewählten Spannung im Reset gehalten wird.

mfg.

von Cyblord -. (cyblord)


Lesenswert?

batmobil schrieb:
> Ich habe den Atmega8A.

Warum schreibst du das dann nicht?

Und sonst keine Antworten mehr auf die Fragen?

Bist du sicher dass dein Programm auch aufgespielt wird? Welchen Pegel 
hat RESET?

@Thomas.
BODEN ist deaktiviert, also ist Brown-Out aus.

von Mitlesa (Gast)


Lesenswert?

batmobil schrieb:
> Programmieren hat ohne Probleme funktioniert (siehe Bild).

Das Bild dokumentiert nur die Programmierung der Fuses.

Unter dem Tab Program musst du den Code in deinen Kontroller
hineinprogrammieren. Hast du das auch getan?

von batmobil (Gast)


Lesenswert?

Cyblord ---- schrieb:
> batmobil schrieb:
>> Ich habe den Atmega8A.
>
> Warum schreibst du das dann nicht?
>
> Und sonst keine Antworten mehr auf die Fragen?
>
> Bist du sicher dass dein Programm auch aufgespielt wird? Welchen Pegel
> hat RESET?
>
> @Thomas.
> BODEN ist deaktiviert, also ist Brown-Out aus.

Laut Datenblatt funktioniert der Atmega8A auch mit 2,7V.

Der RESET hat einen Pegel von 2,7V

von Cyblord -. (cyblord)


Lesenswert?

Ich bin raus, ich hab keine Lust mehr zu helfen. Von dir kommt ja nix 
sinnvolles.

von jühürgen (Gast)


Lesenswert?

batmobil schrieb:
> Bild). Wenn ich nun mit dem Multimeter an PB1 messe, habe ich dort keine
> 2,7 V High sondern Messen nur ca. 70mV. Wo liegt das Problem?

Multimeter von ACV auf DCV umstellen. Schaltplan zeigen.

von nga (Gast)


Lesenswert?

Du hast Brown-Out auf 4.0V. Da is der AVR mit 2,7V noch im Reset

von npn (Gast)


Lesenswert?

nga schrieb:
> Du hast Brown-Out auf 4.0V. Da is der AVR mit 2,7V noch im Reset

Ist er nicht. Bei BODEN ist kein Häkchen.

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.