Работа с портами ввода/вывода LPC1114. Пример.

Пример программы выполняет опрос входа GPIO3_0 и если на нем появляется высокий уровень включает GPIO3_5. Данный пример был опробован на LPCXpresso. При использовании платы следует учитывать, что на платах с процессором LPC1114 у линий GPIO3_4, GPIO3_5 нанесена маркировка 2.4, 2.5. Линии GPIO2_4, GPIO2_5 промаркированы USB-DM и USB-DP.

   

    
#ifdef __USE_CMSIS
#include "LPC11xx.h"
#endif
#include <cr_section_macros.h>
#include <NXP/crp.h>

__CRP const unsigned int CRP_WORD = CRP_NO_CRP ;

int main(void)
{
LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6); // Подключение GPIO к AHB
LPC_GPIO3->DIR |= (0x1<<5); // Настройка GPIO3_5 на вывод
LPC_GPIO3->DIR |= (0<<0); // Настройка GPIO3_0 на ввод
LPC_IOCON->PIO3_0 = 8; // Включение Pull-down резистора на GPIO3_0

while(1)
{
if (LPC_GPIO3->MASKED_ACCESS[1]) // Проверка состояния GPIO3_0
{
LPC_GPIO3->MASKED_ACCESS[(1<<5)] = 1<<5;} // Если GPIO3_0 = 1 то включить GPIO3_5
else {LPC_GPIO3->MASKED_ACCESS[(1<<5)] = 0<<5;
} // Иначе выключить GPIO3_5
}
return 0 ;
}

Еще по теме:

Работа с портами ввода/вывода LPC1114

Работа с портами ввода/вывода LPC1114. Регистры

.

You have no rights to post comments