- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 3 von 3

Thema: Logisches UND funzt irgendwie nicht?

  1. #1
    Gast

    Logisches UND funzt irgendwie nicht?

    Anzeige

    Praxistest und DIY Projekte
    Ich verstehe das nicht mein Code funktioniert nicht. Es soll ein Codeschloss werden. Hier ist die simple Form, die auch nicht funktioniert:

    Code:
    #include <io.h>
    typedef unsigned char  BYTE;
    typedef unsigned int   WORD;
    WORD i,f;
    BYTE d=0,s1=0,s2=0;
    int main (void)
    {
    DDRB =0x1f;
    DDRD=0x00;
    PORTD = 0x01;
    sbi(TCCR1B,2);//counter
    for (;;)
    {
    cbi(PORTB,3);
    cbi(PORTB,4);
       if (d==1)
         {
          sbi (PORTB, 2);
            f=inw(TCNT1) - 1;
             do
            {
            i=inw(TCNT1);
            }while(i!=f);
                    cbi(PORTB,2);
            s1=0;
            s2=0;
           d=0;
         }
    if (bit_is_clear(PIND, PIND2))//wenn Taste gedrückt
    {
    sbi (PORTB, 4);
    s1=s1 +1;
    if(s2==25)
    d=1;
    }
    if (bit_is_clear (PIND,PIND3))
    {
    sbi (PORTB, 3);
    if((s1 > 2) && (s1 < 6)) //hier liegt der Fehler, wieso geht das nicht?
    s2=25;
    }
    }
    }

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    Hi,

    if ((s1 > 2) && (s1 < 6))
    s2=25;

    was geht denn da nicht ?? Sieht doch alles korrekt aus, beschreib mal dein Problem etwas genauer...

    Und noch ein paar Anmerkungen zum Code :
    sbi(), cbi() sind "deprecated", werden also demnächst nicht mehr von avr-gcc unterstüzt werden. Man sollte daher zum Beispiel statt:
    cbi(PORTB,2);
    PORTB &= ~(1<<2);
    bzw. statt
    sbi(PORTB,2);
    PORTB |= (1<<2); benutzten...

    Gleiches gilt für "bit_is_clear" ( -> !(PIND & (1<<PIND3)) oder (PIND & (1<<PIND3)) == 0 ).

    Und statt #include <io.h> sollte man #include <avr/io.h> benutzten

    MfG Kjion

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.07.2004
    Ort
    Rickelrath
    Beiträge
    127
    Der Gast hat sich verdrückt?

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress