学习内容
重点:切记最终主函数接收到的函数返回值类型及大小取决于所声明的返回值类型!
头文件中函数的声明如:
u16 get_ad()
{
u16 a;
I2CStart();
I2CSendByte(SLW);
I2CWaitAck();
I2CSendByte(0x03);
I2CWaitAck();
I2CStart();
I2CSendByte(SLR);
I2CWaitAck();
I2CReceiveByte();
I2CSendAck(0);
a=I2CReceiveByte();
I2CSendAck(1);
I2CStop();
a*=1.96;
return a;
}
#ifndef __AD_H
#define __AD_H
u16 get_ad();
//u8 get_ad();切记最终主函数接收到的函数返回值取决于所声明的返回值类型!
#endif
如上,c文件中u16 get_ad()
函数返回一个u16
类型的变量,如果在头文件中声明该函数写成u8 get_ad()
则调用该函数时只会返回u16
的低8位,导致重大错误!!!