Forum: Mikrocontroller und Digitale Elektronik µC Led anschalten und für eine bestimmte Dauer anlassen


von Christian S. (kruemel)


Lesenswert?

Hallo,

habe mich mal an diverse Tutorials gehalten und möchte mit dem Atmega8 
und meinen STK500 eine Led für eine bestimmte Zeit anschalten.

Dazu hab ich ein kleines Programm geschrieben:
1
#include <avr/io.h>
2
#include <util/delay.h>
3
#include <stdint.h>
4
5
6
//Prototypen
7
void sleep_ms(uint16_t ms);
8
9
//LED Defines
10
//Hier müssen die richtigen Angaben hin
11
#define LED_DDR    DDRC       //DDRA, DDRB...
12
#define LED_PORT  PORTC       //PORTA, PORTB...
13
#define LED_PORTPIN  PC4         //PA0, PA1..., PB0, PB1..., ...
14
15
16
int main(void)
17
{
18
/*Den Pin wo die LED angeschlossen ist als Ausgang setzen*/
19
LED_DDR |= (1<<LED_PORTPIN);
20
  
21
  
22
  while(1){
23
LED_PORT |= (1<<LED_PORTPIN);  //Den Portpin auf high setzen
24
  
25
  }
26
}

Leider wird die Led nicht als leuchtend angezeigt.
Wo liegt hier der Fehler?
Was mache ich falsch?
Und was muss ich machen, damit der µC bei einem bestimmten Signal 0101 
die LED schaltet?


Grüße

von G4st (Gast)


Lesenswert?

Die LEDs des STK500 sind Lowaktiv.

von LordZiu (Gast)


Lesenswert?

Es muss nicht sein, dass du in der while-Schleife ständig den Portpin 
setzt.

Aber trotzdem sollte es funktionieren, so auf den ersten Blick.

-LED richtig rum dran?
-Richtiger Pin?

Häng mal ein Voltmeter zwischen Pin und GND uns schau, ob du deine 
Versorgungsspannung messen kannst.

von LordZiu (Gast)


Lesenswert?

G4st schrieb:
> Die LEDs des STK500 sind Lowaktiv.

Oder so ^^

von Christian S. (kruemel)


Lesenswert?

ja geil, das die low aktiv sind ist mir natürlich nicht aufgefallen.
Funzt natürlich so.

Besten 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.