В данной серии статей будут приведены примеры работы с периферией STM32L с помощью библиотеки, предоставляемой ST — StdPeriph. Перед использованием примеров не забывайте включать, соответствующие файлы библиотеки в проект.
- Порты GPIOx
- Прерывания
- Timer 6
- USART
- I2C
- SPI
- DMA
- Системный таймер
- EEPROM
- RTC
- Тактирование 32МГц с настройкой пропуска такта flash
Порты GPIOx
GPIO_InitTypeDef GPIO_InitStructure;
//вкл тактирования портов
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; //(_OUT, _AF, _AN)
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_400KHz; //(_2MHz, _10MHz, 40MHz)
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; //(_NOPULL, _UP)
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; //(_0 ... _15)
// для выхода
// GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //(_PP - push/pull, _OD - open drain)
GPIO_Init(GPIOC, &GPIO_InitStructure);
x = GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0 | GPIO_Pin_1);
GPIO_ResetBits(GPIOA, GPIO_Pin_0 | GPIO_Pin_1);
GPIO_SetBits(GPIOA, GPIO_Pin_0 | GPIO_Pin_1);