джойстик ардуино в нейтрали выдает слабый сигнал

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем olegator, 10 дек 2018.

  1. parovoZZ

    parovoZZ Гуру

    Код (C++):
    uint8_t temp;
    temp = AnalogRead ();
    temp = temp >> 2;
    меняется на
    Код (C++):
    uint8_t temp;
    temp = ADCH;
    Где сложность?
     
  2. DetSimen

    DetSimen Guest

    меняется на
    uint8_t temp = ADCH;

    и сложность вапще ищезает.
     
  3. Пин не выбран. А для чтения джойстика его надо постоянно переключать.
     
  4. parovoZZ

    parovoZZ Гуру

    цепляешь АЦП к таймеру и в прерывании либо от АЦП, либо от таймера меняешь вход АЦП.
    И не забыть отцепить триггер от входа в Digital Input Disable Register. Не знаю, есть ли это в AnalogRead()
     
  5. Код, пожалуйста. Более простой, чем
    char x = analogRead(A0)/4;
    char y = analogRead(A1)/4;
     
    ostrov нравится это.
  6. DetSimen

    DetSimen Guest

    ДядяВить, ты нормальный?
     
  7. Нет, конечно.
     
  8. DetSimen

    DetSimen Guest

    Извини. Не мне, алкашу запойному тебя судить. Ты безусловно прав. Каксигда.
     
  9. ostrov

    ostrov Гуру

    Упростили донельзя!
     
  10. ostrov

    ostrov Гуру

    Во.
     
  11. parovoZZ

    parovoZZ Гуру

    Ты откуда проснулся? Речь изначально была про эффективное программирование, а не минимализм кода в редакторе. Но если так угодно, то вот:
    Код (C++):
    #include "My_Lib_Joistik"

    joistik = my_super_function_get_axis_joistik (my_joistik);
    Время выполнения этой функции - не более 30 мкс. Как завещал Ленин.