Hirdetés

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

  • vargalex

    félisten

    válasz Vladi #9904 üzenetére

    Szia!

    Ha a piros gombot megnyomod, utána sem megy az enkóder alapú vágás? Amiért kérdezem:

    - nincs inicializálva a currentpulse változó (és a voros sem egyébkén), így akár az is lehet, hogy annak értéke a kezdéskor (bár nem olvastam utána, hogy arduinoban van-e automatikus változó inicializálás, így csak a C-ből indulok ki) valami kicsi negatív szám, így jó későn fogja elérni a pulzus értékét.
    - én a currentpulse változó értékét a loop if-jének legelején nulláznám, ugyanis így elvesztesz 300 ms-nyi interrupt-ot (ugye addig az interrupt tovább növelgeti az értéket, de utána nullázod - persze lehet, hogy az a cél, hogy a vágás vége és a következő vágás eleje közötti idő legyen állandó).

    Egyébként nézted a volatile leírásában az "int or long volatiles" bekezdést? Ugye a 8 bites olvasás pont okozhat gondokat.

    Alex

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