Ответы в темах
-
АвторСообщения
-
fisher74Участник
Ну уж не до такой степени ламер. Конечно же и в прототипе указывал и в самой функции.
fisher74УчастникСпасибо, но
volatile void mydelay(void);
компилятор заворачивает варнингом <div class=»spoilerui»>function cannot return qualified void type ‘volatile void’ [-Wqualified-void-return-type]</div>
и так же игнорирует функцию.
На другие типы данных так же ругается.
А вот1234void mydelay(void){for (volatile unsigned long i=0; i<2000000; i++);}сработало. Спасибо.
P.S. И какой-то странный движок форума — не позволяет редактировать своё последнее сообщение
fisher74УчастникДобрый день.
Решил начать осваивать SMT32, начав с Blue pill (F103c8t6). Светик, подключенный на плате к PortC13 смог зажечь, разобравшись в отличиях от F407.
А вот с морганием выходит засада: функция задержки полностью игнорируется Кейлом.123456789101112131415161718192021#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-pullwhile(1){GPIOC->BSRR = GPIO_BSRR_BR13; // Зажигаем светик (LED включен между VCC и PortC13)mydelay(); // Ждём.... но почему-то не ждёт ((GPIOC->BSRR = GPIO_BSRR_BS13; // Тушим светикmydelay(); // Снова ждём... и снова не ждёт}}Я понимаю, что такой тип задержки самый расточительный и в практике применяться не будет, но хотелось бы разобраться в этой проблеме.
-
АвторСообщения
-
АвторСообщения
-
Ну уж не до такой степени ламер. Конечно же и в прототипе указывал и в самой функции.
Спасибо, но
volatile void mydelay(void);
компилятор заворачивает варнингом <div class=»spoilerui»>function cannot return qualified void type ‘volatile void’ [-Wqualified-void-return-type]</div>
и так же игнорирует функцию.
На другие типы данных так же ругается.
А вот1234void mydelay(void){for (volatile unsigned long i=0; i<2000000; i++);}сработало. Спасибо.
P.S. И какой-то странный движок форума — не позволяет редактировать своё последнее сообщение
Добрый день.
Решил начать осваивать SMT32, начав с Blue pill (F103c8t6). Светик, подключенный на плате к PortC13 смог зажечь, разобравшись в отличиях от F407.
А вот с морганием выходит засада: функция задержки полностью игнорируется Кейлом.123456789101112131415161718192021#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-pullwhile(1){GPIOC->BSRR = GPIO_BSRR_BR13; // Зажигаем светик (LED включен между VCC и PortC13)mydelay(); // Ждём.... но почему-то не ждёт ((GPIOC->BSRR = GPIO_BSRR_BS13; // Тушим светикmydelay(); // Снова ждём... и снова не ждёт}}Я понимаю, что такой тип задержки самый расточительный и в практике применяться не будет, но хотелось бы разобраться в этой проблеме.
-
АвторСообщения