TI中文支持网
TI专业的中文技术问题搜集分享网站

28377例程中关于ADC的初始化问题

28377的例程中有下面一段代码,请问这个是干什么用的呢?

CpuSysRegs.PCLKCR13.bit.ADC_A = 1;//开启ADC时钟
CpuSysRegs.PCLKCR13.bit.ADC_B = 1;
CpuSysRegs.PCLKCR13.bit.ADC_C = 1;
CpuSysRegs.PCLKCR13.bit.ADC_D = 1;

//check if device is trimmed
if(*((Uint16 *)0x5D1B6) == 0x0000){
//device is not trimmed, apply static calibration values
AnalogSubsysRegs.ANAREFTRIMA.all = 31709;
AnalogSubsysRegs.ANAREFTRIMB.all = 31709;
AnalogSubsysRegs.ANAREFTRIMC.all = 31709;
AnalogSubsysRegs.ANAREFTRIMD.all = 31709;
}

CpuSysRegs.PCLKCR13.bit.ADC_A = 0;
CpuSysRegs.PCLKCR13.bit.ADC_B = 0;
CpuSysRegs.PCLKCR13.bit.ADC_C = 0;
CpuSysRegs.PCLKCR13.bit.ADC_D = 0;
EDIS;

shook xu:

这个跟16位ADC的误差校准有关系,这段程序在系统初始化的过程中,主循环之前,哪个能详细说明一下吗,为什么要这么做,这么做具体的含义是什么呢?谢谢!

28377的例程中有下面一段代码,请问这个是干什么用的呢?

CpuSysRegs.PCLKCR13.bit.ADC_A = 1;//开启ADC时钟
CpuSysRegs.PCLKCR13.bit.ADC_B = 1;
CpuSysRegs.PCLKCR13.bit.ADC_C = 1;
CpuSysRegs.PCLKCR13.bit.ADC_D = 1;

//check if device is trimmed
if(*((Uint16 *)0x5D1B6) == 0x0000){
//device is not trimmed, apply static calibration values
AnalogSubsysRegs.ANAREFTRIMA.all = 31709;
AnalogSubsysRegs.ANAREFTRIMB.all = 31709;
AnalogSubsysRegs.ANAREFTRIMC.all = 31709;
AnalogSubsysRegs.ANAREFTRIMD.all = 31709;
}

CpuSysRegs.PCLKCR13.bit.ADC_A = 0;
CpuSysRegs.PCLKCR13.bit.ADC_B = 0;
CpuSysRegs.PCLKCR13.bit.ADC_C = 0;
CpuSysRegs.PCLKCR13.bit.ADC_D = 0;
EDIS;

shook xu:

回复 Eric Ma:

谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » 28377例程中关于ADC的初始化问题
分享到: 更多 (0)