Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить

НЕ могу задать условие для установки и считывания разрядов

Сб янв 15, 2022 22:03:26

При использовании аналогового компаратора в зависимости от соотношения на его входах напряжения изменяется состояние бита выхода ACO (Atmega8) с 0 на 1 и обратно. Для определения "1 " пишу в разделе while(1) следующие выражения
Код:
 if ((ACSR & (1<<5))   {k=1}
 if ((ACSR & (1<<5))==1)   {k=1}
 if (ACSR & (1<<5))             {k=1}
if (FCO)    {k=1}                  {k=1}

Ни один из вариантов не работают.
Объясните неграмотному, что я делаю не так? Пытаюсь писать программы на Си и моделирую в Протеусе..

Re: НЕ могу задать условие для установки и считывания разряд

Сб янв 15, 2022 22:26:09

Ну хорошо, при выполнении условия k станет равным 1. А кто его в ноль сбрасывает? Сам он этого не сделает. Нужно добавить тогда else k=0;
Ну либо как вариант k = (ASCR >> 5) & 1;

Re: НЕ могу задать условие для установки и считывания разряд

Вс янв 16, 2022 13:42:42

Т.к. я уверен, что при напряжении на входе AIN0 больше,чем на AIN1, то мне надо убедиться, что работает первое условие. А оно не работает, т.к. при проверке в Протеус во всех этих условиях при FCO = 1 (видно в окне виндовс) к=0 (видно в значении переменных). к ввёл специально для проверки. А Ваш вариант указан среди проверяемых мной.

Re: НЕ могу задать условие для установки и считывания разряд

Пн янв 17, 2022 20:34:32

Заметил интересную фишку!
При варианте
Код:
 if (ACSR&1<<5)
    {PORTD|=1<<5; }
   else
   { PORTD&=0xDF; }

При изменении знака разности напряжений на входах компаратора значения регистра 5 порта D в окне Wath windov меняются, а на схеме и на виртуальном осциллографе протеуса остаются в нулевом значении.
чему верить?

Re: НЕ могу задать условие для установки и считывания разряд

Пн янв 17, 2022 23:54:13

Только натуральному МК. Протезу верить не стоит.

Re: НЕ могу задать условие для установки и считывания разряд

Чт янв 20, 2022 17:19:48

mickbell писал
Только натуральному МК. Протезу верить не стоит.

Опять оказалось дело в моей невнимательности. Порт D был настроен весь на выход.
Всем спасибо. Тему можно закрыть.
Ответить