AVR-C Programm Ledansteuerung

OP #5014618
Lesenswert?

Hallo geschätze Forumsmitglieder,

ich brauche Hilfe mit meinem Programm...Es soll auf einem MK2 Board mit 
Atmega8 laufen.

Ich wollte mit 2 Potentiometern Aus und Notaus realisieren.
Wenn diese beiden nicht betätigt sind, sollen die Leds leuchten.
Das funktioniert auch. wenn ich einen der Potis schalte, gehen die Leds 
jedoch nicht aus. Erst über einen Reset..

D.h. es findet keine permanente Abfrage der Zustände von Pinb.1 und 
Pinb.2 statt.

Was muss ich tun damit die Leds ausgehen wenn ich einer der Potis eine 
"1" hat.

Ich danke vielmals. (Und meine C-Kenntnisse sind eher schlecht...)



Der Code:
1
//------------------------------
2

3
#define F_CPU 3686400
4
#include <avr/io.h>
5

6

7

8

9
uint8_t Ausgang_schalten = 0;
10

11

12

13
void AUS_pruefen (void)
14
{
15
if ( (!(PINB & 0x02))&&(!(PINB & 0x04)) )  //PinB.1 Aus und PinB.2 NotAus (beide Poti), müssen über "&&" verknüpft da in Reihe
16
Ausgang_schalten=1;
17
else
18
Ausgang_schalten=0;
19
}
20

21

22
void Ausgabe (void)
23
{
24
AUS_pruefen();
25
if (Ausgang_schalten==1)          //Bedingung prüfen für Aus/NotAus, wenn "1" Aus/NotAus nicht gedrückt
26
PORTC = (1<<0)|(1<<1);            // C.0 und C.1 ansteuern für Ausgabe
27
else
28
PORTC = 0;
29
}
30

31

32

33
int main()
34
{ 
35

36
DDRC  = 0xFF;          // Ausgänge
37
DDRB  = 0x00;         // Eingänge
38
//PORTB = 0b00000001;    // Pull up für B.0  (Ein Taster noch nicht verwendet)
39

40
while (1)         
41
{
42

43
Ausgabe();
44

45
return 0;
46
}
47
}
Gast #5014625
Lesenswert?

Du springst aus Deiner while(1) Schleife mit return raus. Mach das 
Return hinter die While Schleife.

Und: In Ausgabe() ein Aufruf von AUS_pruefen() ... Leg den Aufruf von 
AUS_pruefen lieber mit in die while Schleife. Und benenn den gleich 
dabei um zu Eingabe. Denn das ist es  ja schließlich.
OP #5014900
Lesenswert?

Stefan U. schrieb:
> Benutzt du wirklich Potis
> 
(http://i.ebayimg.com/00/s/MTYwMFgxNjAw/z/N98AAOSwiDFYMHTx/$_57.JPG?set_id=8800005007)
> als Schalter an digitalen Eingängen? Warum das denn?

ich nutze das Board im Anhang.

Und ich spiele nur rum, um zu sehen ob das was ich vorhabe am Board 
funktioniert.

Wir haben in der Schule eine Aufgabe, wo ich einen
Eintaster
Austaster
Notaus
und "Sensor-taster"

benötige.

und da das board nur 2 Taster hat verwende ich die Potis...wo ist das 
Problem?
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren