关于串口中断导致hal_delay失效
单片机是stm32f103,在串口中断接收数据后,延时函数失效,本来是900ms打印一次数据,变成不停打印。附上源码大家调试一下,没有时钟芯片也可以仅串口输出。发送格式如图,图1是发送后没有延时的结果。
图1
图2
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
HAL_UART_Receive_IT(&huart1,ruff,8);
}
while (1)
{
SD2405_read(rx);
printf("d:",rx[2]);
printf("d:",rx[1]);
printf("%d\n",rx[0]);
HAL_Delay(900);
if(ruff[0]!=0)
{
SD2015_revise(ruff);
ruff[0]=0;
}
2 个回复
熙阳Project
赞同来自:
修改滴答定时器的中断优先级,HAL_NVIC_SetPriority(SysTick_IRQn,0,0);
电器
赞同来自: