sinsay (28.12.2011 21:24, просмотров: 4896)
Вопрос по поводу конфигурации портов вводва/вывода через стандартные функции в stm32f100. Допустим мне нужно часть порта A сконфигурировать как обычные ноги ввода / вывода а часть как альтернативные.
Вот для ножек ввода вывода объявляю структуру и заполняю ее вот так:
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_9 );// ногу 9 порта А на выход
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // на выход
GPIO_Init( GPIOC, &GPIO_InitStructure);
Теперь допустим нужно на ножку 8 порта А выдать ШИМ (альтернативная функция)
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); // Включил таймер
//--- GPIOA Configuration: Channel 1 as alternate function push-pull
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 ; // ножка 8
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; // альтернативное использование
GPIO_Init(GPIOA, &GPIO_InitStructure);
Правильно я делаю? Видимо нет поскольку я структуру переопределил и у меня не работает.
А как нужно?