stm32f103c8t6寄存器点灯代码
时间: 2024-10-11 18:01:20 浏览: 9
STM32F103C8T6是一款基于Cortex-M3内核的微控制器,用于嵌入式系统开发。要通过GPIO控制LED点灯,首先需要配置GPIO作为输出模式,并设置相应的引脚。以下是一个简单的示例代码,假设我们有一个LED连接到GPIOC的PA0位置:
```c
#include "stm32f10x.h" // 包含STM32的头文件
// 定义GPIO口和LED引脚
GPIO_TypeDef *GPIOC = GPIOC_BASE; // GPIOC地址
#define LED_PIN GPIO_Pin_0 // LED连接到GPIOC的Pin 0
void led_on(void) {
// 将GPIOC的PA0设置为推挽输出(GPIO_Mode_Out_PP)
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE); // 启动GPIOC时钟
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = LED_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 输出推挽模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
// 设置LED亮
GPIO_SetBits(GPIOC, LED_PIN); // 写1到指定引脚
}
void led_off(void) {
// 设置LED灭
GPIO_ResetBits(GPIOC, LED_PIN); // 写0到指定引脚
}
int main(void) {
led_on(); // 点亮LED
while (1) { // 无限循环,LED保持点亮状态
// 可在此添加其他代码...
}
return 0;
}
```