c - HAL STM32 Uart接收中断:复位接收缓冲区问题
问题描述
我使用单片机 STM32F407VGT6 IDE STM32CubeIDE。现在我正在研究一些基本操作,我对 uart 在接收数据时如何在中断模式下工作感到有点困惑。我将解释我不明白的内容:mcu 从终端接收一些数据,然后 mcu 对这些数据进行处理,最后我想“重置”接收缓冲区。缓冲区不是 1/2 或完全填充,这对我的目的来说是可以的。所以想象缓冲区填充少于 1/5。
`
while(1){
if(HAL_UART_Receive_IT(&huart3, rxBuff, strlen(rxBuff)) != HAL_OK)
{
Error_Handler();
}
HAL_Delay(3000);
temp = rxBuff[0];
if(HAL_UART_Receive_IT(&huart3, rxBuff, strlen(rxBuff)) != HAL_OK)
{
Error_Handler();
}
}
`
解决方案
推荐阅读
- android - Ionic + Capacitor 3 + Android 短暂显示扭曲的启动画面
- swift - 如何在不接触 Swift 中的段的情况下动态更改 UISegmentControl(幻灯片)的索引?
- git - git rebase -i 提交标志?
- ios - 使用 use_frameworks 时的 react-native-maps iOS 构建问题!:linkage => :static
- python - 平均一个 3D 阵列以获得较低的分辨率
- django - 将 djangos object.values dict 转换为本机数据类型?
- c - 在 Motif 中创建选项菜单
- smoothing - Meshlab Laplacian Smooth 引入了尖峰
- python - 有没有办法不用微调就可以使用bert-large作为文本分类工具?
- javascript - req.params 返回未定义(它实际上将 :itemId 作为字符串返回,所以它有点未定义)而不是 id