2023年12月30日发(作者:)

STMicroelectronics (STM) 为其微控制器 (MCU) 提供了一套标准外设库 (Standard Peripheral

Library, SPL) 或 HAL (硬件抽象层, Hardware Abstraction Layer) 库。这些库为开发者提供了与

STM32 微控制器的各种外设(如 GPIO、UART、SPI、I2C 等)进行交互的API。

以下是一些常用的 STM32 标准库函数,但请注意,随着 STM32 HAL/LL 库的更新和版本变化,这些函数可能会有所不同或有所增减:

GPIO:

GPIO_Init(): 初始化 GPIO。

GPIO_SetBits(): 设置指定的 GPIO 位。

GPIO_ResetBits(): 清除指定的 GPIO 位。

GPIO_WriteBit(): 写入指定的 GPIO 位。

GPIO_ReadInputDataBit(): 读取指定的 GPIO 输入位。

UART:

UART_Init(): 初始化 UART。

UART_SendData(): 通过 UART 发送数据。

UART_ReceiveData(): 通过 UART 接收数据。

UART_GetFlagStatus(): 检查 UART 的某个标志是否被设置。

SPI:

SPI_Init(): 初始化 SPI。

SPI_SendData(): 通过 SPI 发送数据。

SPI_ReceiveData(): 通过 SPI 接收数据。

I2C:

I2C_Init(): 初始化 I2C。

I2C_StartAddressConfig(): 配置 I2C 的启动地址。

I2C_MasterRequestConfig(): 配置 I2C 的主请求。

I2C_MasterReceiveData(): 主模式下接收数据。

I2C_MasterTransmitData(): 主模式下发送数据。

中断:

NVIC_Init(): 初始化 NVIC (嵌套向量中断控制器)。

NVIC_EnableIRQ(): 使能特定的中断请求。

NVIC_DisableIRQ(): 禁用特定的中断请求。

定时器:

TIM_TimeBaseInit(): 初始化 TIM 的时间基础单元。

TIM_Cmd(): 使能或禁用 TIM。

TIM_SetCounter(): 设置 TIM 的计数器值。

TIM_GetCounter(): 获取 TIM 的计数器值。

其他外设:例如 ADC、DAC、DMA 等,都有它们自己的初始化、配置和数据传输函数。

系统:

SysTick_Init(): 初始化系统滴答定时器。

SystemInit(): 系统初始化函数,通常在启动文件中调用。

错误处理:许多库函数都会返回一个错误状态,如 HAL_OK、HAL_ERROR 等,以便开发者检查函数调用是否成功。

调试与输出:printf 函数经常与重定向功能一起使用,以便在 UART 或其他接口上输出调试信息。

请注意,上述函数只是 STM32 标准库中的一小部分,并且具体的使用方法和参数可能会因

MCU 型号和库版本而异。