?? tlv2544.c
字號(hào):
#include "common.h"
void write_2548_cfr(unsigned int com_code)//寫配置字
{
unsigned char i;
ADC_CS=1;
ADC_SDI=1;
ADC_SCLK=0;
ADC_CS=0;
_nop_();
_nop_();
for(i=0;i<16;i++)
{
if(com_code&0x8000) { ADC_SDI=1;}
else { ADC_SDI=0;}
ADC_SCLK=0;
ADC_SCLK=1;
com_code<<=1;
}
ADC_CS=1;
}
void init_2548(void)//初始
{
ADC_SDI=1;
ADC_SDO=1;
ADC_CS=1;
ADC_SCLK=0;
ADC_CSTART=1;
_nop_();
write_2548_cfr(0xa000);
_nop_();
write_2548_cfr(0xac00);
_nop_();
}
unsigned int read_2548_cfr(void)//讀配置
{
unsigned char i,cfg_code=0x90;
unsigned int u;
u=0;
ADC_SDI=1;
ADC_SCLK=0;
ADC_CS=0;
_nop_();
_nop_();
for(i=0;i<4;i++)
{
if(cfg_code&0x80) {ADC_SDI=1;}
else {ADC_SDI=0;}
ADC_SCLK=0;
ADC_SCLK=1;
cfg_code<<=1;
}
for(i=4;i<16;i++)
{
ADC_SCLK=0;
ADC_SCLK=1;
_nop_();
_nop_();
if(ADC_SDO==1) u=u|0x01;
u<<=0x01;
}
u>>=1;
ADC_CS=1;
return(u);
}
//讀ADC值
//入口參數(shù)next_channel是下一個(gè)通道
//next_channel:0,2,4,6對(duì)應(yīng)1到4通道
unsigned int ReadAD(unsigned char next_channel)
{
unsigned int AD_value;
unsigned char i;
AD_value=0;
ADC_SDI=1;
ADC_SCLK=0;
ADC_CS=0;
_nop_();
for(i=0;i<12;i++)
{
if(i<4)
{
if(next_channel&0x8) {ADC_SDI=1;}
else {ADC_SDI=0;}
next_channel<<=1;
}
ADC_SCLK=0;
ADC_SCLK=1;
if(ADC_SDO) AD_value|=0x01;
AD_value<<=1;
}
for(i=0;i<4;i++)
{
ADC_SCLK=0;
ADC_SCLK=1;
}
AD_value>>=1;
ADC_CS=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
// while(ADC_INT);
return AD_value;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -