Чем же все-таки определяется направление ножки порта при взведенном бите
Px.xSEL - битом Px.xDIR или режимом подключенного к этой ножки внутреннего
модуля?
Ответ:
[Вернуться в категорию "Всё о MSP430 (Автор: Сергей Борщ)"] Для разных модулей по-разному. Например, к ножке P3.4 кристалла MSP430F149 подключен выход передачи UART0. Логично, что при включеном UART этот вывод должен быть настроен на вывод. Поэтому направление определяется однозначно ка "выход" при взведенном бите P3.4SEL. В то же время ножка P1.1 может быть как выходом модуля CCP0 в режиме Compare так и входом в режиме Capture. Но модуль CCP0 имеет возможность в режиме Compare защелкивать состояние этого входа (используя это очень легко построить довольно высокоскоростной программный UART, см. SLAA078A). Таким образом, если вы хотите защелкивать состояние входа, вы настраиваете его на ввод битом P1.1DIR, а если хотите снимать с него сигнал OUT модуля CCP0 - то на вывод тем же битом P1.1DIR. Конкретно узнать, чем определяется направление порта можно по таблицам, расположенным в разделе описания электрических характеристик портов даташита. Если в графе Direction control from module стоит Px.xDIR - то этим битом, если нет - режимом модуля.
Замечу, что при взведении бита Px.xSEL в портах P1 и P2 отключается логика управления флагом прерывания Px.xIFG на этой ножке. Однако ничто не мешает при необходимости взводить бит Px.xIFG программно, получая таким образом программные прерывания.[Всё о MSP430 (Автор: Сергей Борщ)]
|