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(): 使能特定的中断请求。
库函数printf详解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 型号和库版本而异。