Главная » Микроконтроллеры » Пример 1 – использование линий GPIO: мигаем светодиодом

Пример 1 – использование линий GPIO: мигаем светодиодом

Целью этого упражнения будет мигание светодиодами. Схема подключения светодиодов к микроконтроллеру следующая:

Основная функция программы показана в примере 1 .

Пример 1. Основная функция программы

int main (void)
{
// Конфигурация GPIO
GPIO_Configuration ();
while (1)
{
// Отключаем D1
GPIO_SetBits (GPIOE, GPIO_Pin_14);
// Включаем D2
GPIO_ResetBits (GPIOE, GPIO_Pin_15);
// Вставить задержку
Delay(0xAFFFF);
// Отключаем D2
GPIO_SetBits (GPIOE, GPIO_Pin_15);
// Включаем D1
GPIO_ResetBits (GPIOE, GPIO_Pin_14);
// Вставить задержку
Delay(0xAFFFF);
}
}

Как видно в бесконечном цикле, светодиоды D1 и D2 поочередно включаются. Светодиод D1 подключен к линии 14 порта E (PE14), светодиод D2 подключен к линии 15 порта E (PE15). Светодиоды подсвечиваются при низком напряжении на линии, что можно получить с помощью функции:

GPIO_ResetBits (имя_порта, номера_строки для сброса)

например, сброс функции линии E-порта 15 следует после функции:

GPIO_ResetBits (GPIOE, GPIO_Pin_15)

Особого внимания заслуживает 4-я строка из примера 1, в которой вызывается функция GPIO_Configuration () для инициализации соответствующих портов ввода/вывода. В этом случае необходимо установить порты E 14 и 15 в режим вывода. Это делается с помощью:

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14 | GPIO_Pin_15;
GPIO_InitStructure.GPIO_Speed ​​= GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init (GPIOE, & GPIO_InitStructure);

Кроме того, необходимо подключить тактовый сигнал к модулю портов ввода/вывода (по умолчанию тактовый сигнал отключен, для экономии питания):

RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO, ENABLE);

Оставить комментарий

Ваш email нигде не будет показан. Обязательные для заполнения поля помечены *

*