使用标准库版本编写LED闪烁

1、在STM32CubeMX中创建一个新的工程,选择STM32F103VCT6作为目标设备,并配置好所需的引脚和时钟设置。将需要用于LED连接的GPIO引脚设置为输出模式。

2、在生成代码后,打开工程目录,在Src文件夹中创建一个新的main.c文件。

3、在main.c文件中编写以下代码:

#include "stm32f10x.h"

void GPIO_Init(void);
void SysTick_Init(void);

int main(void)
{
    GPIO_Init();
    SysTick_Init();
    while (1)
    {
        GPIOC->ODR ^= GPIO_Pin_13; // 切换LED引脚电平状态
        Delay(500); // 等待500ms
    }
}

void GPIO_Init(void)
{
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); // 使能GPIOC时钟

    GPIO_InitTypeDef GPIO_InitStruct;
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13; // 配置GPIOC_PIN_13
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; // 推挽输出模式
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz; // GPIO速度
    GPIO_Init(GPIOC, &GPIO_InitStruct); // 初始化GPIOC引脚
}

void SysTick_Init(void)
{
    SysTick_Config(SystemCoreClock / 1000); // 配置SysTick为1毫秒中断一次
}

void Delay(__IO uint32_t nTime)
{
    TimingDelay = nTime;
    while (TimingDelay != 0);
}

volatile uint32_t TimingDelay = 0;

void SysTick_Handler(void)
{
    if (TimingDelay != 0x00)
    {
        TimingDelay--;
    }
}

你可能感兴趣的:(嵌入式软件工程师修炼记,单片机,嵌入式硬件)