admin 管理员组

文章数量: 887021

HAL

 STM32采用HAL库HAL_UART_Receive_IT()多次开启的问题_暖暖_的_纠结的博客-CSDN博客_hal_uart_receive_it

上文提到了很多内容。

看了之后表示认同。但是有个疑问,HAL库不能自动存定长的数据到数组中吗? HAL_UART_Receive_IT()的参数size如果不能修改,那么只有1能用有什么意思。

该地址说明了UART_Receive_IT()中包括以下内容:

*huart->pRxBuffPtr++ = (uint8_t)(huart->Instance->DR & (uint8_t)0x00FF);
    if (--huart->RxXferCount == 0U)

可以看出地址是增加了。

该地址说明如下:
指针的运算
指针加上一个整数n 指针加上一个整数n相当于指针加上了一个 n*sizeof(类型名) 递增指针 p++ 、++p 加上了一个 sizeof(类型名)

指针减去一个整数n 指针减去一个整数n相当于指针减去了一个 n*sizeof(类型名) 递减指针 p-- 、--p 减去了一个 sizeof(类型名)

也就是说只要让类型名变成希望的数组元素长度,就可以实现自动存放。UART_RECEIVE_IT 在最后会关闭中断。这听着都不错啊。

如何实现自动完成指定长度的数据保存,还在思考ing

本文标签: HAL