已知STM32F103开发板上LED灯的 电路图LED0连接PB5,LED1连接PE5,写出点亮LED0的代码
时间: 2024-11-12 09:46:05 浏览: 23
利用Simulink、STM32CUBEMX、STM32-MAT/TARGET自动生成简单的led灯闪烁代码
在STM32F103开发板上,LED通常通过GPIO口进行控制。对于LED0连接到PB5(PA8引脚),LED1连接到PE5(PC6引脚),你可以使用Keil uVision集成开发环境配合STM32Cube库编写代码。
以下是一个简单的示例,假设你已经配置了GPIO模式为推挽输出:
```c
#include "stm32f10x.h" // 包含STM32的头文件
void delay_ms(uint32_t ms) { // 简单的延时函数
for (uint32_t i = 0; i < ms * 1000; i++);
}
int main(void) {
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIE, ENABLE); // 启动PB和PE GPIO时钟
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; // PB5设置为输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure); // 初始化PB5
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; // PE5设置为输出
GPIO_Init(GPIE, &GPIO_InitStructure); // 初始化PE5
while(1) {
GPIO_SetBits(GPIOB, GPIO_Pin_5); // 开启PB5,点亮LED0
delay_ms(1000); // LED亮1秒
GPIO_ResetBits(GPIOB, GPIO_Pin_5); // 关闭PB5,LED灭
delay_ms(1000); // LED灭1秒
}
}
```
阅读全文