Перейти к содержанию

Alex

Moderators
  • Постов

    5 333
  • Зарегистрирован

  • Посещение

  • Победитель дней

    3

Весь контент Alex

  1. Используйте её где хотите - она же глобальная. Хотите изменять её по энкодеру - меняйте её в его обработчике. Хотите по кнопкам - меняйте в их обработчиках. А выводить куда-то (дисплей, ШИМ, ...) - это уже дело второстепенное. Выводите в любой удобный момент и в любом удобном месте программы. Причём тут её изменение и чтение ? Вы смешали всё в кучу и запутались.
  2. Перефразируйте общий вопрос. Он непонятен. На вопрос "как ?" есть 1000 и 1 ответ.
  3. Так и меняйте её там, где нужно, "во всём коде" и "постепенно". Не понятно, в чём проблема ...
  4. Какой-то дурацкий вопрос. Вы хотите снизить тактовую частоту, или что ?
  5. Не знаю что это такое, глянул даташит - там обычный SPI. Что там может быть сложного ?
  6. А на форуме фотки выложили чтобы похвастаться ? Какова цель этой темы ?
  7. Серьёзно ? Чтобы открывать дверь, нужно вешать ESP и огромный дисплей ?
  8. @legik , между записями нужно выжидать время. EEPROM не умеет мгновенно записывать.
  9. Alex

    ATmega + 12bit ADC

    Работает как задумано ? - значит всё правильно.
  10. https://yandex.ru/search/?clid=1923018&text=301+Moved+Permanently&lr=166645&redircnt=1627422980.1
  11. Что делает эта тема в этом разделе ?
  12. И это говорит человек, который застрял уже на инициализации У них он хоть работает... Покажите этот индусский код, который Вам непонятен. И скажите, что конкретно в нём не понятно.
  13. Есть документация на камень. Этого вполне достаточно, чтобы знать как сделать, и можно ли сделать.
  14. А где же тогда эти данные хранятся ? Откуда берутся при обращении к ним ?
  15. Подпаять Вы может что угодно и к чему угодно. А что дальше ?
  16. Причём тут отладка ? Вы меня не поняли. Почитайте повнимательней.
  17. Вы плохо прочитали мой предыдущий пост. Я говорил о компиляторе и о его действиях. А не то, что Вам писать в коде. Посмотрите со стороны компилятора на свой код. Даже не на весь. А на кусок, который я выложил.
  18. // Тут где-то Flag_IT_timer0 = 0 int main(void) { DDRB=0b11111101; PORTB=0b00000010; Timer_init(); sei(); while (1) { if (Flag_IT_timer0) // Вот до сюда дошёл анализатор компилятора. До этого момента, переменная Flag_IT_timer0 не модифицировалась. Что ему делать ? {
  19. Конечно не говорит. for тут совсем не при чём. Давайте посмотрим со стороны на поведение компилятора. Вот он находит объявление некой переменной (в Вашем случае - флаг). Находит его инициализацию. Вероятнее всего, Вы проинициализировали его нулём. Дальше, анализируя определённую единицу кода, он сталкивается с условием проверки этой переменной на true. Как Вы думаете, что он сделает ? Правильно - вырежет нахрен этот код, ибо он не нашёл в этой единице кода какие-либо изменения этой переменной. Вы с ним не согласны ?
  20. И что интересного вычитали про него ? Расскажите. Аргументируйте.
  21. А что Вы ожидали увидеть на единственную фразу "не заходит внутрь if, хотя Flag стоит в единице", без конкретики ? Вот начали сами разбираться, выкладывать сюда результаты, рассуждать, ... И Вам помогли. Запомните - тут нет экстрасенсов. Для помощи нужно больше информации. На фразу "у меня не работает код", Вы вряд ли получите тут адекватный ответ. Вы так говорите, как будто volatile - какая-то волшебная палочка от глюков volatile не может от чего-то помогать. Почитайте в интернете про этот квалификатор и выясните, почему Ваш код с ним работает, а без него - нет. Не нужно его тыкать теперь везде, где не попадя ...
×
×
  • Создать...