stm8单片机中AD转换读取数据时这个语句怎么解释 bws_dat = ((ADC_DRH<<2) + ADC_DRL ); 得到十位的数据

2025-04-18 15:49:39
推荐回答(1个)
回答1:

bws_dat = ((ADC_DRH<<2) + ADC_DRL ); //得到十位精度的数据

就是将ADC_DRH这个寄存器的内容左移两位(至于为什么只移两位,可以找相应的datasheet看一下。或许bit8和bit9在这个寄存器的最高二位),然后与ADC_DRL这个寄存器相加,总共得到10位数据。bws_dat应该是一个短整型或整型。