我从网上下了个ADS7846程序,采集XY坐标OK了。
我改了一下,采集温度,值跳变的很厉害。
程序如下:
uint AD_TEMP(void)
{ uint Temperature;
delay(10000); //中断后延时以消除抖动,使得采样数据更准确
start(); //启动SPI
while(BUSY); //如果BUSY信号不好使可以删除不用
delay(2);
WriteCharTo7843(0x80); //送控制字 10010000 即用差分方式读温度 详细请见有关资料
while(BUSY); //如果BUSY信号不好使可以删除不用
delay(2);
DCLK=1; _nop_();_nop_();_nop_();_nop_();
DCLK=0; _nop_();_nop_();_nop_();_nop_();
Temperature=ReadFromCharFrom7843(); //读X轴坐标
CS=1;
return(Temperature);
}
谁写过这样的程序,请指教,谢谢! |