//==================================================================================== int Read_Y(void) { int i; WR_CMD(CHY); //while(TP_BUSY); Delayus(10); i=RD_AD(); return i; }
/******************************************************************************* * Function Name : Read_Y * Description : ¶ÁÈ¡ADS7843ͨµÀY+µÄADCÖµ * Input : None * Output : None * Return : ADS7843·µ»ØͨµÀY+µÄADCÖµ * Attention : None *******************************************************************************/ int Read_Y(void) { int i; TP_CS(0); DelayUS(1); WR_CMD(CHY); DelayUS(1); i=RD_AD(); TP_CS(1); return i; }
/******************************************************************************* * Function Name : Read_X * Description : 读取ADS7843通道X+的ADC值 * Input : None * Output : None * Return : ADS7843返回通道X+的ADC值 * Attention : None *******************************************************************************/ int Read_X(void) { int i; TP_CS_LOW(); DelayUS(1); WR_CMD(CHX); DelayUS(1); i=RD_AD(); TP_CS_HIGH(); return i; }
/******************************************************************************* * Function Name : Read_X * Description : 读取ADS7843通道X+的ADC值 * Input : None * Output : None * Return : ADS7843返回通道X+的ADC值 * Attention : None *******************************************************************************/ int Read_X(void) { int i; TP_CS(0); //CS作用有待考虑。。。。写指令读数据时候需将CS拉低? DelayUS(1); WR_CMD(CHX); /* 通道Y+的选择控制字 */ DelayUS(1); i=RD_AD(); TP_CS(1); return i; }
uint16_t Read_X(void) { uint16_t curr_X; reset_CS(); Delay(1); WR_CMD(CHX); Delay(1); curr_X=RD_AD(); set_CS(); return curr_X; }
uint16_t Read_Y(void) { uint16_t curr_Y; reset_CS(); Delay(1); WR_CMD(CHY); Delay(1); curr_Y=RD_AD(); set_CS(); return curr_Y; }
//==================================================================================== int Read_Y(void) { int i; // T_CS=0; WR_CMD(CHY); // T_CLK=1; // T_CLK=0; //while(TP_BUSY); //DelayUs(10);//changed from 5 i=RD_AD(); // T_CS=1; return i; }
/******************************************************************************* * Function Name : Read_X * Description : Read ADS7843 ADC value of X + channel * Input : None * Output : None * Return : return X + channel ADC value * Attention : None *******************************************************************************/ static int Read_X(void) { TP_CS(0); DelayUS(1); WR_CMD(CHX); DelayUS(1); int i = RD_AD(); TP_CS(1); return i; }
u16 Read_XY(u8 xy) { u16 i, j; u16 buf[ReadLoop]; uint32 sum; u16 val; for(i=0; i<ReadLoop; i++) { WR_CMD(xy); //while(TP_BUSY); Delayus(5); buf[i]=RD_AD(); //sum += buf[i]; } //排序 for(i=0; i<ReadLoop-1; i++) { for(j=i+1; j<ReadLoop; j++) { if(buf[i]>buf[j]) { val=buf[i]; buf[i]=buf[j]; buf[j]=val; } } } sum=0; for(i=LOSS_DATA; i<ReadLoop-1-LOSS_DATA; i++) sum += buf[i]; val=sum/(ReadLoop-2*LOSS_DATA); return (val); }