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次中断
同步模式 没有试过