Страница 1 из 1

STM32L и GPIO

Добавлено: Пн ноя 28, 2011 10:12:26
mcsa
Добрый день.

Имеем платку STM32L-Discovery. Начал изучения с мигания светодиодом и чтения уровня с порта. Снимаю уровень с пина 0 порта А, там где кнопка висит, есть вопрос по инициализации. Использую стандартные библиотеки для работы с периферией

Код: Выделить всё

GPIO_InitTypeDef GPIO_A;
	RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE);
	GPIO_A.GPIO_Pin=GPIO_Pin_0;
	GPIO_A.GPIO_Speed=GPIO_Speed_10MHz;
	GPIO_A.GPIO_Mode=GPIO_Mode_IN;
	GPIO_A.GPIO_PuPd=GPIO_PuPd_DOWN;
	GPIO_Init(GPIOB,&GPIO_A);
Вот не пойму влияет ли на что GPIO_A.GPIO_PuPd=GPIO_PuPd_DOWN? Что PuPd_NOPULL, что PuPd_DOWN, что PuPd_UP ничего не меняет - на порту всегда нет напряжения после инициализации.

Re: STM32L и GPIO

Добавлено: Пн ноя 28, 2011 22:29:18
koyodza
mcsa писал(а):Начал изучения с мигания светодиодом и чтения уровня с порта. Снимаю уровень с пина 0 порта А, там где кнопка висит, есть вопрос по инициализации. Использую стандартные библиотеки для работы с периферией

Код: Выделить всё

GPIO_InitTypeDef GPIO_A;
	RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE);
	GPIO_A.GPIO_Pin=GPIO_Pin_0;
	GPIO_A.GPIO_Speed=GPIO_Speed_10MHz;
	GPIO_A.GPIO_Mode=GPIO_Mode_IN;
	GPIO_A.GPIO_PuPd=GPIO_PuPd_DOWN;
	GPIO_Init(GPIOB,&GPIO_A);
что PuPd_DOWN, что PuPd_UP ничего не меняет - на порту всегда нет напряжения после инициализации.
Так Вы читаете РА0 или пишете туда? Сейчас пин настроен на ввод, подтяжка вниз включена. Какое напряжение и где Вы ожидаете?