首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

stm32 串口中止接收字符串

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

热点排行