Keresés

Új hozzászólás Aktív témák

  • válasz Aryes #23260 üzenetére

    User error.

    const int LED_PIN = 13;
    volatile boolean flashing = true; // A LED villogás állapotát jelző változó

    void setup() {
      pinMode(LED_PIN, OUTPUT); // LED láb beállítása kimenetnek

      // Timer beállítása a villogtatáshoz
      cli(); // Megszakítások tiltása
      TCCR1A = 0;
      TCCR1B = 0;
      TCNT1  = 0;
      OCR1A = 31250; // 1 másodperc, 16 MHz-es órajel és 256-os osztó esetén
      TCCR1B |= (1 << WGM12); // CTC mód beállítása
      TCCR1B |= (1 << CS12) | (1 << CS10); // 256-os osztó beállítása
      TIMSK1 |= (1 << OCIE1A); // Timer 1 megszakítás engedélyezése
      sei(); // Megszakítások engedélyezése
    }

    void loop() {
      // Itt a fő programciklus, LED villogtatása stb.
    }

    // Timer 1 megszakítás kezelése
    ISR(TIMER1_COMPA_vect) {
      if (flashing) {
        digitalWrite(LED_PIN, !digitalRead(LED_PIN)); // LED állapotának váltása
      }
    }

    A RIOS rendkívül felhasználóbarát, csak megválogatja a barátait.

Új hozzászólás Aktív témák