📄 spi.txt
字号:
void main(void)
{
int i; AD_RST=1;
AD_RST=0;
delay();
AD_RST=1;
//for(i=0;i<5000;i++){}//
writeword(0xff);
writeword(0xff);//防止借口迷失,使通信积存器回到等待状态
writeword(0x20);//发送写命令序列 clock register
writeword(0x0c);//设置更新频率
writeword(0x10);//set up register
writeword(0x78);//
while(1)
{// writeword(0xaa);
//for(i=0;i<200;i++);
buffer[i]=readdata();
if(i<10)i=i+1;
else i=0;
}
}
void writeword(unsigned int byteword)
{ unsigned int AD16bit,Token;
unsigned char i ;
AD_CLK=1;
AD_CS=0;//开始
delay();
Token=0x80;
AD16bit=byteword;
for(i=0;i<8;i++)
{
if(AD16bit&Token)AD_IN=1;//输入数据位
else AD_IN=0;
AD_CLK=1;
delay();
AD_CLK=0;
delay();
AD_CLK=1;
delay();
Token=Token>>1;
}
AD_CLK=1;
AD_IN=1;//结束
AD_CS=1;
}
unsigned int readdata()
{
unsigned int AD16bit;
unsigned char i;
writeword(0x38); //设置读当前通道数据
while(AD_REDY==1){;} //等待数据准备好
AD_CLK=1;
AD_CS=0;
delay();
AD16bit=0x00;
for(i=0;i<16;i++)
{
AD16bit=AD16bit<<1;
AD_CLK=0;
delay();
if(AD_OUT==1)AD16bit=AD16bit|0x01;//读取数据位
AD_CLK=1;
delay();
}
AD_CLK=1;
AD_IN=1;
delay();
while(AD_REDY==0){;}
AD_CS=1;
return(AD16bit);
}
void delay()
{
unsigned int j;
for(j=0;j<8;j++);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -