Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // Пример проекта для платы STM32F0Discovery
- // Моргание светодиодом
- // teplofizik
- //
- #include <stm32f0xx.h>
- // Инициализация подсистемы тактирования
- void SystemInit(void)
- {
- // Инициализируем периферию пока что здесь, хотя это и немного неправильно
- // Включить тактирование порта C
- RCC->AHBENR |= RCC_AHBENR_GPIOCEN;
- // 9, 10 выводы - на выход (general purpose output mode)
- GPIOC->MODER |= GPIO_MODER_MODER9_0 | GPIO_MODER_MODER10_0;
- }
- // Программная задержка
- void delay(uint32_t Value)
- {
- volatile uint32_t Counter = Value;
- // Чтоб даже при оптимизации не выбросили данный цикл
- while(Counter--) { }
- }
- // Засветить светодиод
- void led_On(void)
- {
- GPIOC->BSRR = GPIO_BSRR_BS_9; // Установить бит 9
- }
- // Погасить светодиод
- void led_Off(void)
- {
- GPIOC->BSRR = GPIO_BSRR_BR_9; // Сбросить бит 9
- }
- // Главный цикл
- int main(void)
- {
- while(1)
- {
- // Моргание!
- led_On();
- delay(1000000UL);
- led_Off();
- delay(1000000UL);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement