////接收一个字符////
char Getchar1() //////函数定义???返回值为char
{
while ((IFG1&UTXIFG0)==0);
return RXBUF0;
}
//////接收字符串
#pragma vector=USART0RX_VECTOR
__interrupt void UART0_RX(void)
{
int i;
i=0;
do
{
if(i<30)
gRecieveBuffer[i++]=Getchar1();
else
break;
}while (gRecieveBuffer[i-1]!=' ');
}
烦劳各位大神 接收一个字符串长度未知(小于30) 无结束标识符 gRecieveBuffer初始值全为‘ ’
若现在接收一个长度为10的字符串 程序这样写可以不 是在中断里跑了10次还是 跑进中断10次??程序 该怎样写呀
此帖出自
小平头技术问答
我一般在串口中断中只处理一个字节的接收,以及对标识字符的判断(当然,中断代码耗费的周期要远低于串口波特率),对整串报文的解析处理还是放到主循环中去处理,这样也不会影响串口的接收。
一周热门 更多>