- 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

    E-Bike
    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