使用 UART 中断接收实时数据,定时器中断触发数据采集。
1. UART 数据接收中断
UART 支持中断方式处理数据流:
c
复制代码
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) {
if (huart->Instance == USART1) {
ProcessReceivedData(); // 数据处理逻辑
HAL_UART_Receive_IT(&huart1, RxBuffer, BUFFER_SIZE); // 重新启动接收中断
}
}
2. 定时器触发实时采集
配置定时器中断定期采集数据:
c
复制代码
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {
if (htim->Instance == TIM2) {
StartDataAcquisition(); // 触发数据采集
}
}
|