Было раньше в теме, продублируем
мигание на STM32F103C8T6, пин PC13, Keil:
Спойлер
Код: Выделить всё
#include "stm32f10x.h"
volatile uint32_t msTicks; // counts 1ms timeTicks
extern void Delay (uint32_t dlyTicks);
/*----------------------------------------------------------------------------
* SysTick_Handler:
*----------------------------------------------------------------------------*/
void SysTick_Handler(void)
{
msTicks++;
}
/*----------------------------------------------------------------------------
* Delay: delays a number of Systicks
*----------------------------------------------------------------------------*/
void Delay (uint32_t dlyTicks)
{
uint32_t curTicks;
curTicks = msTicks;
while ((msTicks - curTicks) < dlyTicks)
{
__NOP();
}
}
int main(void)
{
RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;
GPIOC->CRH |= GPIO_CRH_MODE13_1;
SysTick_Config(8000000UL / 1000); // SysTick 1 msec interrupts
while (1)
{
GPIOC->ODR ^=(uint16_t)(1<<13);
Delay(1000);
}
}
в Протеусе работает:
CMSIS используется Keilовский, подключается просто галочкой:


