STM32 HAL库函数详解
文章平均质量分 88
本专栏记录了对STM32 HAL库函数的解读,包括函数功能,用法,逐行解释等;
乘凉~
嵌入式软件开发
展开
-
STM32 HAL库函数——HAL_TIM_Base_Start_IT()详解
以STM32G030C8T6中的HAL_TIM_Base_Start_IT()函数为例,进行解释;原创 2023-10-23 08:00:00 · 10587 阅读 · 0 评论 -
STM32 HAL库函数——HAL_UART_RxCpltCallback()详解
例如,您可以使用一个缓冲区数组,在回调函数中将接收到的字符存储在数组中,然后在接收完成后一次性处理整个数组。在这种情况下,当串口接收完成时,HAL 库会自动调用。请注意,在处理多个字符时,您需要确保缓冲区足够大以容纳所有接收到的字符,并且在存储字符之前进行必要的边界检查,以防止溢出或访问无效内存。下面是一个完整的示例,演示了如上要求的功能,且演示了如何在中断处理函数中循环接收字符,直到接收到预定的字符串。因此,如果您在回调函数中只处理一个字符,那么在接收到十个字符时,该函数将被调用十次,每次处理一个字符。原创 2023-07-26 09:20:57 · 22351 阅读 · 3 评论 -
STM32 HAL库函数——UART_Start_Receive_IT()详解
相反,如果接收到的数据量小于要处理的数据数量,意味着接收缓冲区中的数据还不足以进行一次较大规模的数据处理。在这种情况下,如果接收到的数据量大于等于要处理的数据数量,意味着接收缓冲区中已经积累了足够的数据,可以进行一次较大规模的数据处理。因此,当FIFO模式启用且接收数据量大于等于要处理的数据数量时,函数会选择适当的中断服务函数,并使能相关的中断,以便在接收缓冲区中有足够的数据时触发中断来处理数据。这样设计的目的是根据接收到的数据量的多少,选择合适的中断服务函数和中断触发时机,以提高系统的效率和性能。原创 2023-07-26 09:20:32 · 1732 阅读 · 0 评论 -
STM32 HAL库函数——HAL_UART_Receive_IT()详解
在函数执行期间,会进行一系列的检查,包括检查接收过程是否已经在进行中、检查数据缓冲区指针和数据大小是否合法等。如果检查失败,函数会返回相应的错误状态。需要注意的是,该函数是在中断模式下进行接收操作的,因此在接收到数据时会触发中断,并通过中断服务函数进行数据处理。,表示函数执行的状态。原创 2023-07-25 09:50:12 · 15746 阅读 · 0 评论 -
STM32 HAL库函数——HAL_UART_Transmit_IT()详解
如果FIFO模式使能,根据数据长度选择16位或8位的中断服务程序,并使能TX FIFO阈值中断。根据UART的FIFO模式和数据长度,函数选择相应的中断服务程序的函数指针,并使能相应的中断。接下来,函数设置UART句柄结构体中的一些成员变量,包括发送缓冲区指针、发送的数据大小、剩余待发送的数据大小、发送中断服务程序的函数指针,以及错误码和UART状态。函数允许以中断模式发送数据,通过配置中断服务程序和使能相应的中断来实现数据的异步发送。函数首先检查UART的状态,如果当前有正在进行的发送操作,则返回。原创 2023-07-25 09:49:50 · 11531 阅读 · 0 评论
分享