28335ADC实验需要矫正,看手册说有自带的矫正函数ADC_CAL,其代码如下:
.def _ADC_cal
.asg "0x711C", ADCREFSEL_LOC
.sect ".adc_cal"
_ADC_cal
MOVW DP, #ADCREFSEL_LOC >> 6
MOV @28, #0xAAAA
MOV @29, #0xBBBB
LRET
现在存在几个问题,想请教一下大家:
1、根据的的学习理解,对ADC矫正应该是根据下面的图进行,通过精准电源求得偏移然后对采样修正。而adc_cal函数的矫正原理是什么呢?
2、手册说adc_cal函数是对ADCFEFSEL和ADCOFFTRIM寄存器初始化,但是ADCFEFSEL寄存器是参考电压选择,怎么是矫正呢? 3、另外,该代码的最后两句的意思是什么呢,是向ADCREFSEL 写0xAAAA ,向ADCOFFTRIM 写 0xBBBB吗? 4、如果ADC_cal函数可以起到矫正作用,请问在实际操作中是不是应该自己再对其代码进行一些修改,还是直接调用呢?
|