.def _ADC_cal
.asg "0x711C", ADCREFSEL_LOC
.sect ".adc_cal"
_ADC_cal
MOVW DP, #ADCREFSEL_LOC >> 6
MOV @28, #0xAAAA ; actual value may not be 0xAAAA
MOV @29, #0xBBBB ; actual value may not be 0xBBBB
LRETR
在这个汇编程序中看别人的帖子得知DP的值为0x7100,请问这个0x7100是如何通过运算得到的。#ADCREFSEL_LOC >> 6如何得到DP=0x7100?麻烦解释一下,谢谢!
Terry Deng:
DP表示接下来要操作的寄存器的块地址。
C2000芯片出厂时都会做ADC校准,然后把偏移值保存在芯片中,直接调用ADC_CAL就可以使用该偏移值修正ADC模块