Последовательность нажатия кнопок

Тема в разделе "Arduino & Shields", создана пользователем Blackgeneral, 17 май 2024.

  1. Blackgeneral

    Blackgeneral Нерд

    Понятно, спасибо!

    Возможно я не правильно сформулировал вопрос или Вы не поняли.
    Например.
    Меняем правильный код на 3,2,1.
    При нажатии на кнопку 3 number==3, и тогда должна выполнится строка 57, а выполняется 51.

    У меня на скрине это показано.

    Что не так?
     
  2. KindMan

    KindMan Гуру

    Нет. Функция EnableLed(currentPosition) не принимает number, там просто позиция цифры кода.
     
  3. Asper Daffy

    Asper Daffy Иксперд

    Позвольте, пять копеек вставить.

    Если уж говорить про стандартные типы, то тип uint8_t - не лучшее решение. Он, конечно, упомянут в стандарте, но как "опциональный", т.е. реализация может его и не иметь - это не противоречит стандарту (хотя, я таких реализаций не видел). Коль скоро хочется совсем уж стандартности, то более уместен тип uint_fast8_t - он по стандарту обязательный.

    Сказанное касается всех стандартов с 2011 года и по 2020. В более ранних - не помню. Вот как это прописано в стандарте 2020 года:

    17.4.2 Header <cstdint> synopsis [cstdint.syn]
    Код (C++):
    namespace std {
        using int8_t = signed integer type ; // optional
        using int16_t = signed integer type ; // optional
        using int32_t = signed integer type ; // optional
        using int64_t = signed integer type ; // optional

        using int_fast8_t = signed integer type ;
        using int_fast16_t = signed integer type ;
        using int_fast32_t = signed integer type ;
        using int_fast64_t = signed integer type ;

        using int_least8_t = signed integer type ;
        using int_least16_t = signed integer type ;
        using int_least32_t = signed integer type ;
        using int_least64_t = signed integer type ;

        using intmax_t = signed integer type ;
        using intptr_t = signed integer type ; // optional

        using uint8_t = unsigned integer type ; // optional
        using uint16_t = unsigned integer type ; // optional
        using uint32_t = unsigned integer type ; // optional
        using uint64_t = unsigned integer type ; // optional

        using uint_fast8_t = unsigned integer type ;
        using uint_fast16_t = unsigned integer type ;
        using uint_fast32_t = unsigned integer type ;
        using uint_fast64_t = unsigned integer type ;

        using uint_least8_t = unsigned integer type ;
        using uint_least16_t = unsigned integer type ;
        using uint_least32_t = unsigned integer type ;
        using uint_least64_t = unsigned integer type ;

        using uintmax_t = unsigned integer type ;
        using uintptr_t = unsigned integer type ; // optional
    }
     
     
    Последнее редактирование: 12 авг 2024
    DetSimen, Feofan и KindMan нравится это.