单片机c语言编程 有关温度检测18b20程序的问题

unsigned char idata id_buff[8];

/************************************************************
*Function:18B20ID全处理
*parameter:
*Return:
*Modify:
*************************************************************/
void TemperatuerResult(void)
{
p = id_buff; 此句话是什么意思,有什么意义吗
ReadID();
Config18b20();
Init18b20 ();
WriteByte(0xcc); //skip rom
WriteByte(0x44); //Temperature convert

Init18b20 ();
WriteByte(0xcc); //skip rom
WriteByte(0xbe); //read Temperature
p = temp_buff;
GemTemp();
}

如果理解没有错的话,p应该是一个指针类型的全局变量
id_buff 是一个ID信息数组
temp_buff是指温度缓存数组
在ReadID()和GemTemp()函数里面,都是通过访问p指针来修改数据的
所以在调用这两个程序之前,必须先对p进行赋值(也就是制定数据存放的位置)

如果你有不了解的话,你先去好好理解一下指针的含义
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-25
这样看看不出来,要看到全部的文件才知道。不过你可以,用//把那一条屏蔽了试试,如果不行说明有用的。
第2个回答  2012-05-26
我觉得应该是给P 赋初值吧!然后后面通过temp_buff来修改!
相似回答