stm32 串口间断接收字符串

stm32 串口中断接收字符串
我是新手,菜菜鸟。
我想用串口中断接收一串字符串,把这串数据放在一个数组下,该如何写呢?
这样写对吗?

void USART3_IRQHandler(void)
{
if(USART_GetITStatus(USART3, USART_IT_RXNE)==SET)
{
*p=USART_ReceiveData(USART3);//p指向一个数组
p++;

 }

}
如果我发了十位,那这个中断就跑了10次吗?

------解决思路----------------------
char p[128] ;

*p ++  =USART_ReceiveData(USART3);//  和你的的写法一样

如果我发了十位,那这个中断就跑了10次吗?
这个要看终端设置的是不是一个bit进一次中断,如果是你的代码才有效

"
*p=USART_ReceiveData(USART3);//p指向一个数组
p++;
"
------解决思路----------------------
一步情况下,是一次 若干bit ,根据你的设置有关可以是 7 8 9 位,根据你的设置有关,

我估计 你这里的一次是发送一个字节,并且是8位 如果这样那就是 异步模式 进10次中断
同步模式 没有试过