初级会员

- 积分
- 96
- 金钱
- 96
- 注册时间
- 2020-9-30
- 在线时间
- 22 小时
|
发表于 2020-12-15 20:22:22
|
显示全部楼层
我搞定了 在中断回调函数里面加以下代码就可以了
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) //接收完成中断回调函数,这里设置的是每次接收一个就中断一次。
{
if(huart->Instance==USART3)
{
arry[i]=*((huart->pRxBuffPtr)-1); //因为buff只有一个位置,所以我们每次都要让指针退回一格,回到原来的位置好让下次用。
HAL_UART_Transmit(&usart3_handler,&arry[i],1,1000);
if(arry[i]=='\n')
{
LCD_ShowString(10,150,260,36,32,"Received date is");
for (j=0;j<i*15;)
{
LCD_ShowString(10+j,180+k,570,16,16,&arry[j]);
j=j+15;
}
k=k+25;
if(k>=850)
{
LCD_Clear(WHITE);
k=0;
}
i=-1;
}
i++;
}
} |
|