Здравствуйте.
Помогите разобраться, пытаюсь программировать микроконтроллер на плате STM32VLDISCOVERY
Вот так работает, диод мигает
А вот здесь я просто хочу его зажечь, но он не горит:
Ошибки при компиляции не возникают.
Кажется разобрался, поставил задержку.
Дело в том что частота портов меньше частоты ядра да?
Хотя нет теперь и без нее работает.
Ладно пойду спать, а то уже не понимаю что творю)
Раздел: Песочница или Вопрос-Ответ
Помогите разобраться, пытаюсь программировать микроконтроллер на плате STM32VLDISCOVERY
Вот так работает, диод мигает
#include "stm32f10x.h"
int i=0;
int main()
{
// включить тактирование порта
RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;
// настроит порт на вход\выход
GPIOC->CRH &= ~GPIO_CRH_MODE; // сброс битов в нуль MODE В 0
GPIOC->CRH |= 0x22222222;
GPIOC->CRH &= ~GPIO_CRH_CNF; //установим биты CNF В 0
//Инициализация индикатора:
// цикл LED
for (;;)
{
GPIOC->ODR = 0x100;
for (i=0; i<125000; i++);
GPIOC->ODR = 0;
for (i=0; i<125000; i++);
}
}
А вот здесь я просто хочу его зажечь, но он не горит:
#include "stm32f10x.h"
//int timer();
int main()
{
// включить тактирование порта
RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;
// настроит порт на вход\выход
GPIOA->CRH &= ~GPIO_CRH_MODE9; // сброс битов в MODE 0
GPIOC->CRH |= GPIO_CRH_MODE9_1;
GPIOA->CRH &= ~GPIO_CRH_CNF9; //установим биты CNF В 0
GPIOC->BSRR = GPIO_BSRR_BS9;
// GPIOC->ODR = 0x100;
// int timer();
for (;;)
{
}
}
Ошибки при компиляции не возникают.
Кажется разобрался, поставил задержку.
Дело в том что частота портов меньше частоты ядра да?
Хотя нет теперь и без нее работает.
Ладно пойду спать, а то уже не понимаю что творю)
Раздел: Песочница или Вопрос-Ответ