|
老師跟我說是程序沒有對上時序,未能模擬spi通訊,,程序是直接在論壇下載的例程,作用是在lcd上顯示ad7705輸入電壓。
void ad_write(unsigned char command_byte)
{
unsigned char i;
// AD_CS=0;
AD_SCLK=1;
AD_DIN=1;
for (i=0;i<8;i++)
{
AD_SCLK=0;
_nop_();_nop_();_nop_();
if (command_byte&0x80)
{
AD_DIN=1;
}
else
{
AD_DIN=0;
}
_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();
AD_SCLK=1;
command_byte=command_byte*2;
_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();
}
AD_SCLK=1;
AD_DIN=1;
}
unsigned int ad_read(unsigned char num) //¶áè¡êy¾Y
{
unsigned char i;
unsigned int ad_data;
ad_data=0;
AD_SCLK=1;
AD_DIN=1;
for (i=0;i<num;i++)
{ _nop_();_nop_();_nop_();
AD_SCLK=0;
ad_data*=2;
_nop_();_nop_();_nop_();
AD_SCLK=1;
_nop_();_nop_();_nop_();
if (AD_OUT==1)
{
ad_data=ad_data|0x0001;
}
}
// AD_CS=1;
AD_SCLK=1;
AD_DIN=1;
return ad_data;
}
|
|