STM32H743串口空闲中断+DMA只能收一次数据
·
下面展示一些 内联代码片。
** 初始化加入**
SCB_EnableDCache();
在空闲中断中加入下面这句:
SCB_InvalidateDCache_by_Addr ((uint32_t *)My_Uart1.RxBuffer, UART_MAX_RXBUFFER);
随后重新开启接收
其余配置网上都能搜到
/* Invalidate cache prior to access by CPU */
SCB_InvalidateDCache_by_Addr ((uint32_t *)My_Uart1.RxBuffer, UART_MAX_RXBUFFER);
/*重新启动DMA接收*/
__HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE);
HAL_UART_Receive_DMA(&huart1, My_Uart1.RxBuffer, UART_MAX_RXBUFFER);
有帮助的点个赞
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)