使用2812读取AD芯片转换出的数据,发现2812数据线引脚在程序运行/停止时都是高电平(悬空状态,直接示波器探头观看),这也导致读取到的数据数组全为65535,请问如何配置2812数据线作为输入端,而非一个“电源”输出
Eric Ma:
2812和AD芯片的接口是什么啊?如果是外扩总线,那你要初始化外部接口就好了。
ERIC
使用2812读取AD芯片转换出的数据,发现2812数据线引脚在程序运行/停止时都是高电平(悬空状态,直接示波器探头观看),这也导致读取到的数据数组全为65535,请问如何配置2812数据线作为输入端,而非一个“电源”输出
shouwen zhu:
回复 Eric Ma:
就是将2812的数据线XD0~XD15与AD芯片的数字量输出直接相连了。现在是无论AD的数据线是否和2812的数据线相连,2812的数据线所对应的引脚都是高电平
使用2812读取AD芯片转换出的数据,发现2812数据线引脚在程序运行/停止时都是高电平(悬空状态,直接示波器探头观看),这也导致读取到的数据数组全为65535,请问如何配置2812数据线作为输入端,而非一个“电源”输出
shouwen zhu:
回复 Eric Ma:
定义地址:
#define CHA0 0x080022 #define CHA1 0x080026 #define CHB0 0x08002A #define CHB1 0x08002D #define CHC0 0x080032 #define CHC1 0x080036 #define CYCLE 0x08003A #define FIFO 0x08003D
定义通道指针:
ptrCHA0=(int*)CHA0;//通道指针 ptrCHA1=(int*)CHA1; ptrCHB0=(int*)CHB0; ptrCHB1=(int*)CHB1; ptrCHC0=(int*)CHC0; ptrCHC1=(int*)CHC1;
读取数据的程序:
void read_ADD()
{
CHA0_Data[idxx]=*ptrCHA0;
CHA1_Data[idxx]=*ptrCHA1;
CHB0_Data[idxx]=*ptrCHB0;
CHB1_Data[idxx]=*ptrCHB1; CHC0_Data[idxx]=*ptrCHC0;
CHC1_Data[idxx]=*ptrCHC1;
idxx=idxx+1; ADC_ready=1; if(idxx==Samples) { idxx=0; }
}没有关于XINTF的配置,程序运行时观察 XRD引脚,可以看到每个周期内有6次低电平,但是就是读入的数据(XD0~XD15)基本都是高,用示波器挑一个数据位观察显示一直为高,这是为什么?