在 C 语言中编写 STM32 单片机程序通常需要使用 STM32 的 HAL 库或者 LL 库,以下是一个
简单的例子,展示了如何使用 C 语言点亮 STM32 的 LED 灯。
首先,确保你已经安装了 STM32CubeMX 和相应的 IDE(如 Keil, IAR, Eclipse 等)。
打开 STM32CubeMX,选择对应的 STM32 芯片。
配置时钟树、选择外设(例如 LED 对应的 IO 口)。
生成初始化代码。
修改 main.c 文件,添加用户代码。
以下是一个点亮 LED 的示例代码:
#include "stm32f0xx_hal.h"
// 定义 LED 对应的 GPIO 和初始状态
#define LED_PIN GPIO_PIN_0
#define LED_GPIO_PORT GPIOA
#define LED_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
int main(void)
{
// HAL 库初始化
HAL_Init();
// 系统时钟配置
SystemClock_Config();
// GPIO 时钟使能
LED_GPIO_CLK_ENABLE();
// 配置 GPIO 为输出模式,并设置默认状态为高(关闭 LED)
GPIO_InitTypeDef GPIO_InitStruct = {0};
GPIO_InitStruct.Pin = LED_PIN;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(LED_GPIO_PORT, &GPIO_InitStruct);
// 主循环
while (1)
{
// 点亮 LED
HAL_GPIO_WritePin(LED_GPIO_PORT, LED_PIN, GPIO_PIN_RESET);
// 延时一段时间