AVR-C Programm Ledansteuerung

OP #5014618
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
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
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:
Gast #5015073
Kein Problem, in diesem Fall. Ich dachte schon, du hättest den Sinn von 
Potis nicht verstanden oder einfach das Falsche Wort anstelle von 
"Taster" verwednet.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.