HAL

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

发布者:admin,转转请注明出处:http://www.yc00.com/news/1694516117a746432.html

相关推荐

  • HAL

    2023-9-12
    280
  • 如何解决 U盘启动时 hal.dll 丢失的问题

    hal.dll(Hardware Abstraction Layer,硬件抽象层)是 Windows 操作系统中的一个核心文件,负责处理硬件与操作系统之

    5月前
    160

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信