您的位置:首页 > 其它

指针用之前要初始化

2010-04-02 11:25 162 查看
昨天调试一个ADS下的串口程序,发现了一个感觉很脸红的知识点,C指针学的还是不好啊。

C指针用之前要对其进行初始化,要不然就会有问题。

那个串口的流程是先等待用户从键入一个字符,然后程序将其及时发送出去,并存到一个指针指向的地址去,调试时候发现前一部分是对的,但后一步用户键入的字符并没有存到指向的地址,后来发现是根本没有地址,原因在于没有进行初始化,没有给它赋一个地址。

//下面这两句用来接受用户键入的字符

char c;
c = myUart_ReceiveByte()


//下面是函数的原型

char myUart_ReceiveByte(void)
{
if(UartNum==0)
{
while(!(rUTRSTAT0 & 0x1)); //Receive data ready
return RdURXH0();
}
else if(UartNum==1)
{
while(!(rUTRSTAT1 & 0x1)); //Receive data ready
return RdURXH1();
}
return 0;
}


接收完字符以后,

*string++ = c; //将该字符存到指针所指向的地址去。
//然后再将该字符显示到终端上
myUart_SendByte(c); //c


错误就在于string没有初始化一个地址。所以初始化就行了,就能把char c存起来。然后再myUart_Send(string)就能行了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: