数据位数不够。uint readtemp(void) //改为整型{ uchar a, b; uint t; //改为整型……………… a = read_byte(); b = read_byte(); t = b * 256 + a; t = t / 16 * 10; return t; }试试看。也可以试试浮点数。