logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ATTiny44 - [C++][Eclipse]Pilot RC5 i opóźnienia oparte na uśpieniu i CTC.

Doktor_No 27 Wrz 2013 20:28 1137 0
REKLAMA
  • #1 12784606
    Doktor_No
    Poziom 12  
    Witam.

    Opracowałem prosty pilot podczerwieni protokołu RC-5 na ATTiny44, z pięcioma przyciskami (Standby, Vol+/Vol-, Ch+/Ch-). Wszystko działa (nośna generowana z PWM na Timer0, wybudzanie przerwaniami na pinach, kody w pamięci programu, duże oszczędzanie energii), ale chciałbym jeszcze bardziej udoskonalić oprogramowanie. :D

    Mianowicie, niezbędne opóźnienia są na razie wykonane na funkcjach _delay_us(), a chciałbym wykorzystać uśpienie w trybie Idle, z którego "procek" byłby wybudzony przez przerwanie CTC Timera1. Oto kod:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    W takiej formie jak powyżej program nie działa. Mam ATMega32 zaprogramowanego do odczytu kodów, i wychodzą komendy kompletnie inne niż zaprogramowane... Co mogłem zrobić źle?

    PS. "Button" to nazwa moich klas do obsługi przycisków (wraz z redukcją drgań styków).
  • REKLAMA
REKLAMA