关于串口中断导致hal_delay失效

单片机是stm32f103,在串口中断接收数据后,延时函数失效,本来是900ms打印一次数据,变成不停打印。附上源码大家调试一下,没有时钟芯片也可以仅串口输出。发送格式如图,图1是发送后没有延时的结果。

SD2405API.zip



                                                                  图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;


}


已邀请:

要回复问题请先登录注册