STM32L475最小板程序
时间: 2024-04-30 14:20:06 浏览: 65
以下是STM32L475最小板的程序示例:
```c
#include "stm32l4xx.h"
int main(void)
{
/* 初始化时钟 */
RCC->CR |= RCC_CR_HSION; // 开启HSI时钟
while(!(RCC->CR & RCC_CR_HSIRDY)); // 等待HSI时钟稳定
RCC->CFGR &= ~RCC_CFGR_SW; // 选择HSI作为系统时钟
RCC->CFGR |= RCC_CFGR_SW_HSI;
while(!(RCC->CFGR & RCC_CFGR_SWS)); // 等待系统时钟切换完成
/* 初始化GPIO */
RCC->AHB2ENR |= RCC_AHB2ENR_GPIOAEN; // 开启GPIOA时钟
GPIOA->MODER &= ~(GPIO_MODER_MODE5_Msk); // 将PA5设置为输出模式
GPIOA->MODER |= (GPIO_MODER_MODE5_0); // 推挽输出
/* 循环闪烁LED */
while (1)
{
GPIOA->ODR ^= GPIO_ODR_OD5; // 翻转PA5的输出状态
for (int i = 0; i < 1000000; i++); // 延时
}
}
```
这个程序实现了循环闪烁板上的LED灯。首先开启HSI时钟并将其设置为系统时钟,然后初始化GPIOA的PA5引脚为输出模式。在主循环中,使用异或运算翻转PA5输出状态,并使用简单的延时实现LED闪烁效果。
阅读全文