Forum: Mikrocontroller und Digitale Elektronik (Atmega8) LED Leuchtet nicht an PORTD


von Nico H. (nico84)


Lesenswert?

Hallo zusammen.

Ich experimentiere ein wenig mit einem Atmega8. An Pin 11 und 12 (PD5 
PD6) habe ich über 270 Ohm je eine LED nach Masse gelötet.

Mit dem Programm:
1
 
2
#include <avr/io.h>          
3
 
4
int main (void) {            
5
 
6
   DDRD  = 0xFF;             // Port D als Ausgang
7
   PORTD = 0x3F;             // Port D komplett auf 1
8
 
9
   while(1) {                
10
    
11
   }                        
12
 
13
   /* wird nie erreicht */
14
   return 0;                 
15
}

sollte sie doch eigentlich leuchten oder nicht? Tut sie aber nicht :(

von Peter (Gast)


Lesenswert?

hmm du hast PORTB =... geschrieben!

von Nico H. (nico84)


Lesenswert?

Sorry auch grad gesehen. In AVR war es aber richtig.

von Peter (Gast)


Lesenswert?

Bin ich blöd? Da stand doch gerade noch PORTB oder?

Egal, wieso nicht einfach 0xFF oder (1<<PD5) | (1<<PD6)

von Rene K. (draconix)


Lesenswert?

Müssten sie eigentlich ja... bei 0x3f zumindest die an PD5...

Läuft dein µC überhaupt? Wie sind deine Fuse einstellungen und dein 
restlicher Aufbau?!

von Nico H. (nico84)


Lesenswert?

Ich hab eben nochmal neu geflasht, nun leuchtet PD5 aber 6 nicht.

Ansonsten habe ich nur avcc und vcc an 5V und agnd und gnd an Masse. 
Natürlich noch 100nf vor der Spannungsversorgung.

von arthur (Gast)


Lesenswert?

ACME deaktivieren

von Rene K. (draconix)


Lesenswert?

Nicolai Henrych schrieb:
> Ich hab eben nochmal neu geflasht, nun leuchtet PD5 aber 6 nicht.

Ist logisch...

0x3F ist 0b00111111 mit 0x7F dürfte beide leuchten... das wäre: 
0b01111111 - sauberer wäre allerdings: 0x60 also 0b01100000

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.