STM32寄存器点灯代码
时间: 2024-10-12 09:10:08 浏览: 59
STM32微控制器中的寄存器点灯操作通常涉及到GPIO控制和LED的连接。以下是一个简单的示例,假设我们有一个STM32F103C8T6单片机,使用GPIOB作为LED驱动,并且LED连接到PB0引脚:
```c
#include "stm32f10x.h" // 引入STM32的头文件
// 定义LED相关的配置
GPIO_InitTypeDef GPIO_InitStructure;
void LED_On(void) {
// 配置GPIOB口为推挽输出模式,速度为最大频率
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; // PB0对应LED
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
// 初始化GPIOB口
HAL_GPIO_Init(GPIOB, &GPIO_InitStructure);
// 打开LED
HAL_GPIO_WritePin(GPIOB, GPIO_Pin_0, GPIO_PIN_SET); // 设置PB0位,点亮LED
}
void LED_Off(void) {
// 关闭LED
HAL_GPIO_WritePin(GPIOB, GPIO_Pin_0, GPIO_PIN_RESET); // 清除PB0位,关闭LED
}
int main(void) {
while (1) {
// 按照需要循环开关LED
LED_On();
delay_ms(500); // 点亮500毫秒
LED_Off();
delay_ms(500); // 关闭500毫秒
}
return 0;
}
```
阅读全文