不用stm32标准库,也不用宏定义,写一个STM32f103rbt6的点灯代码,并且每一行都进行详细的注释
时间: 2024-05-14 12:18:59 浏览: 86
好的,以下是代码:
```
#include "stm32f10x.h" // 包含STM32F10x系列的头文件
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure; // GPIO初始化结构体
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); // 使能GPIOC时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; // 设置GPIOC.13引脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 设置GPIOC.13引脚为推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 设置GPIOC.13引脚的输出速度
GPIO_Init(GPIOC, &GPIO_InitStructure); // 初始化GPIOC.13引脚
while(1)
{
GPIO_SetBits(GPIOC, GPIO_Pin_13); // 设置GPIOC.13引脚为高电平,点亮LED
Delay(500000); // 延时一段时间
GPIO_ResetBits(GPIOC, GPIO_Pin_13); // 设置GPIOC.13引脚为低电平,熄灭LED
Delay(500000); // 延时一段时间
}
}
void Delay(__IO uint32_t nCount)
{
for(; nCount != 0; nCount--); // 空循环
}
```
注释已经详细的说明了每一行代码的作用,简单来说,这个代码实现了点亮STM32F103RBT6开发板上的一个LED灯。
阅读全文