Не совсем понял, те лучше с регистрами напрямую работать? вот переделал, но все равно не работает:
__IO uint32_t i;
RCC->APB2ENR |= RCC_APB2ENR_IOPEEN; // разрешили тактирование порта E
GPIOE->CRH |= GPIO_CRH_MODE15; // установка PE15 на выход
GPIOE->CRH &= ~GPIO_CRH_CNF15; // двухтактный выход на PE15
while(1)
{
GPIOE->BSRR = GPIO_BSRR_BR15; // сбросить бит 15
for(i=0;i<500000;i++)
GPIOE->BSRR = GPIO_BSRR_BS15; // установить бит 15
for(i = 0;i<500000;i++);
/*
GPIOE->ODR &= ~(1<<15);
for(i = 0;i<500000;i++);
GPIOE->ODR |= 1<<15;
for(i = 0;i<500000;i++);
*/
}
если раскомментировать то нормально, осциллографом проверяю