Самоучитель для микроконтроллеров AVR - Самоучитель для микроконтроллеров AVR

При каком прерывании ее вызывать - компилятор узнает из строчки: 

interrupt[ADC_INT]

По-первому зарезервированному слову - interrupt - он узнаёт, что речь идет об обработчике прерывания, а номер вектора прерывания (адрес куда физически, внутри МК перескочит программа при возникновении прерывания) будет подставлен вместо ADC_INT препроцессором компилятора перед компиляцией

Очень информативна и тем ценна для обучающегося следующая строка программы:

PORTB = (unsigned char) ~(ADCW>>2);

Давайте проанализируем, как она работает.

=     оператор присваивания.  Он означает присвоить значение выражения справа от оператора присваивания той переменной, что указана слева от него.

Значит нужно вычислить выражение справа и поместить его в переменную  PORTB.

Вычислим, что справа от оператора присваивания.

ADCW - это переменная слово
VMLAB только 8 светодиодов  - значит нужно отобразить 8 старших бит результата - т.е. биты_9_2  - для этого мы сдвигаем все биты слова ADCW  вправо на 2 позиции

Go to Top