各位好。我做串口实验收发一切可以。现在我想将串口发过来的数据进行接收起来。(长度以知)。
while(1)
{
while (!(IFG2&UCA0RXIFG)); // USCI_A0 TX buffer ready?
data=UCA0RXBUF; // TX -> RXed character
rx[i]=data;
i++;
if(i==3)
{i=0;}
UCA0TXBUF=data;
}
通过在线仿真,可以看到,rx数组一直没被赋值,但data有数值,我就不清楚这是怎么回事?
我要是想把数据存储到数组里,是要怎么实现呢?
LEE LEE:
回复 Triton Zhang:
HI,Trition.谢谢你的热心回答。
嗯。我昨天实验实现了。还有一个问题是,如果我在中断里做串口数据存储的话,我在main()里定义了个全局变量 rx[8],在中断里调用rx[8],为啥编译的时候会显示rx[8]是未定义的不能使用呢?我想用的话,应该怎么做?
LEE LEE:
回复 LEE LEE:
额、我晕晕的,给忘记不能这么定义;了。已经都解决好了、~谢谢啦
Triton Zhang:
回复 LEE LEE:
全局变量不能定义在函数中。
如果全局变量定义别的文件,需要在调用前声明, extern XXX