Главная › Форумы › Программирование микроконтроллеров › Программирование МК STM32 › Ответ в теме: Программирование МК STM32
Май 11, 2020 в 1:41 пп
#21612
fisher74
Участник
Добрый день.
Решил начать осваивать SMT32, начав с Blue pill (F103c8t6). Светик, подключенный на плате к PortC13 смог зажечь, разобравшись в отличиях от F407.
А вот с морганием выходит засада: функция задержки полностью игнорируется Кейлом.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include "stm32f10x.h" void mydelay(void); void mydelay(void) { for (unsigned long i=0; i<2000000; i++); } int main(void) { RCC->APB2ENR |= RCC_APB2ENR_IOPCEN; // включаем тактирование порта GPIOC->CRH &= ~GPIO_CRH_MODE13; // обнуляем биты модера порта GPIOC->CRH |= GPIO_CRH_MODE13_1; // выставляем скорость макс скорость порта 2МГц GPIOC->CRH &= ~GPIO_CRH_CNF13; // цифровой выход push-pull while(1) { GPIOC->BSRR = GPIO_BSRR_BR13; // Зажигаем светик (LED включен между VCC и PortC13) mydelay(); // Ждём.... но почему-то не ждёт (( GPIOC->BSRR = GPIO_BSRR_BS13; // Тушим светик mydelay(); // Снова ждём... и снова не ждёт } } |
Я понимаю, что такой тип задержки самый расточительный и в практике применяться не будет, но хотелось бы разобраться в этой проблеме.