#include "stm32f10x.h" // 引入 STM32F10x 头文件
// 定义 LED 外设、端口和引脚
#define LED_PERIPH RCC_APB2Periph_GPIOA
#define LED_PORT GPIOA
#define LED_PIN GPIO_Pin_1
// 定义 delay 函数,用于实现延时
void delay(int x)
{
for (int i = 0; i < x; i++)
{
for (int j = 0; j < 1000; j++)
__NOP(); // 空操作,用于消耗时间
}
}
// 程序主入口
int main()
{
GPIO_InitTypeDef gpioDef; // 定义 GPIO 初始化结构体
// 使能 LED 外设的时钟
RCC_APB2PeriphClockCmd(LED_PERIPH, ENABLE);
// 设置 GPIO 参数
gpioDef.GPIO_Mode = GPIO_Mode_Out_PP; // 设置为推挽输出模式
gpioDef.GPIO_Pin = LED_PIN; // 设置引脚为 LED 引脚
gpioDef.GPIO_Speed = GPIO_Speed_10MHz; // 设置 GPIO 速度为 10MHz
// 初始化 GPIO 端口
GPIO_Init(LED_PORT, &gpioDef);
while (1) // 无限循环
{
// 控制 LED 闪烁
GPIO_WriteBit(LED_PORT, LED_PIN, (BitAction)!GPIO_ReadInputDataBit(LED_PORT, LED_PIN));
// 延时 5000 毫秒(5 秒)
delay(5000);
}
return 0;
}