IrDA-SIR кодер (передатчик)

Если пользователь вводит команду At, то MSP430 работает в качестве ко­дера между RS232 входным портом и ИК выходным портом. Таймер Timer_A и порты инициализированы следующим образом (см. также описание схемы в главе 5):

• RS232 вход (сигнале TXD) => порт Р2.5

• IrDA выход (TSLM1100) => порт Р2.4 (CCR2)

Длительность полупериода бита загружена в регистр CCR0, а таймер Timer_A установлен в режим увеличения/уменьшения (Up/Down). Второй мо­дуль захвата/сравнения подключается к линии Р2.4 и осуществляет захват ре­гистра сравнения CCR2, в который загружено значение регистра CCR0 за мину­сом значения, соответствующего длительности ИК импульса 1.63 мкс.

При передаче второй управляющий регистр захвата/сравнения (CCTL2) ус­тановлен в режиме формирования сброса. Это означает, что каждый раз, когда в регистре таймера Timer_A (TAR) устанавливается значение, равное значению в регистре CCR2, то на линии Р2.4 устанавливается низкий логический уровень, а когда устанавливается значение, равное значению в регистре CCR0, то на этой линии устанавливается высокий логический уровень.

Когда таймер Timer_A запускается, то он увеличивает свое значение до значения, равного CCR0, а потом ведет обратный отсчет, после чего опять за­пускается и снова увеличивает свое значение до CCR0. Пока таймер Timer_A работает, в каждый битовый период без вмешательства вычислительного ядра формируется импульс длительностью 1.63 мкс.