新手入门
- 积分
- 17
- 金钱
- 17
- 注册时间
- 2023-2-1
- 在线时间
- 2 小时
|
1金钱
我写了一个代码关于uart串口通讯的,主要是红字部分,是一个读数据的功能 ,
我在用串口助手发的时候发现一个问题
我在watch窗口中观察numbuffer数组的数据变化情况,我发现有几个数是一起读的,剩余的是一个个读的
比如我发了2222222222222222222222222222
有可能numbuffer[0]到numbuffer[12]是一瞬间都写了0x32'2',剩余的numbuffer[13]到numbuffer[20]是一个个慢慢写入0x32'2'
我想问一下大佬们,这是为什么
while (1)
{
/* USER CODE END WHILE */
for (int x=0; x<=20; x++)
{
HAL_UART_Receive(&huart1,&t,1,1000);
numbuffer[x-1] = t;
}
// HAL_UART_Receive(&huart1,&numbuffer,1,1000);
if(numbuffer[2]==2)
HAL_GPIO_WritePin(Out1_GPIO_Port,Out1_Pin,GPIO_PIN_SET);
else
HAL_GPIO_WritePin(Out1_GPIO_Port,Out1_Pin,GPIO_PIN_RESET);
// if(Exti1_flag==1)
// printf("OK\n");
// else if (Exti1_flag==0)
// printf("NG\n");
// Usart_SendString(numbuffer);
printf("AAAAAAAAAAAAA\n");
HAL_Delay(1000);
/* USER CODE BEGIN 3 */
}
|
|