Q格式问题,AD为Q0,系数Kmv是Q22,Kmv=0x2000,正好是2的倍数,而且结果正好化成Q15?是否使用了PU值的概念?<br /><br />下面是我想的,但是我的是乘以64,和这个程序不一样<br />1. 采样电压的PU值表示为Q15格式<br />PUq15 = (最大实际值/额定值) * 2^15;<br />单片机里存储值 = AD * PUq15/512; 因为是10位AD,零点为3.3V/2,则AD的范围表示为正负512.<br />令Ksample = PUq15/512<br />单片机里存储值 = AD * Ksample<br />例如:最大实际值= 48V,额定值 = 48V,则Ksample = 64<br />
|