[求助]ad574接口问题#include <absacc.h>
#include <reg51.h>
#define uint unsigned int
#define ADCOM XBYTE[0xff7c]
#define ADLO XBYTE[0xff7f]
#define ADHI XBYTE[0xff7d]
sbit r=p3^7;
sbit w=p3^6;
sbit adbusy=p^0;
uint ad574(void)
{r=0;
w=0;
ADCOM=0;
while(adbusy==1);
return((uint)(ADHI < <4)+(ADLO&0xff));/*返回12采样值*/
}
main()
{
uint idata result;
result=ad574();
return((uint)(ADHI < <4)+(ADLO&0xff))中“ < <4”不就使ADHI的高四位丢失了吗?
为何能返回12位的数值呢?
#define ADCOM XBYTE[0xff7c] 中的0xff7c 是自己定义的吗?