這是別人寫的代碼,請大家?guī)臀曳治鱿旅娴拇a:這個是計算交流電壓有效值的,看不懂什么意思?
for(i=0;i<20;i++)
{
if(Ua_adc_buf[i]>0)
sum+=Ua_adc_buf[i];
else
sum-=Ua_adc_buf[i];
}
EINT;
tmp = sum*63;
effe_Ua = tmp>>6;
tmp = sum*25;
para_efe_modbus[2] = tmp>>8;
Ua_adc_buf[i]:為從AD中讀取的有符號的10位電壓轉(zhuǎn)換值,1ms秒讀一次轉(zhuǎn)換值,一共20次。但程序好像沒有從零點開始讀的
effe_Ua:是不是計算出來的電壓有效值?。康沁@個我怎么都看不懂,是咋計算出來的。將絕對值的和*63在除以64,咋就是有效值啊,還有*25在除以256得出來的是什么值???
請大俠指點下?謝謝