求助关于CS5463读取功率和功率因数的问题
for (i=0;i<3;i++){
Read_From_5460 (0x1e,pbuf,i);
if((pbuf&0x80) == 0x80) //此处是判断状态寄存器里最高位DRDY是否置位,置位后代表数据就绪
{
Read_From_5460 (0x18,pbuf,i);
////////////////////////////////////////////////////////
temp = pbuf;
temp = (temp<<8)+pbuf;
temp = temp*(SPAN_PUH);
voltage_value = temp/39321;
///////////////////////////////////////////////////////
}
这是我读三个CS5463电压的程序,//////////之间的是我自己数据处理过程,这里的数据处理先忽略,我知道功率及功率因数寄存器里读出的数是>=-1,<1的,是补码,要换算的,我就是想问是不是想读功率和功率因数,是不是把上面改成
for (i=0;i<3;i++)
{
Read_From_5460 (0x1e,pbuf,i);
if((pbuf&0x80) == 0x80)
{
Read_From_5460 (0x14,pbuf,i);//读功率指令是0X14,读因数是0X32
////////////////////////////////////////////////////////
//先忽略这里
temp = pbuf;
temp = (temp<<8)+pbuf;
temp = temp*(SPAN_PUH);
voltage_value = temp/39321;
///////////////////////////////////////////////////////
}
这样就能读出正确的数了吗 俺也想知道,功率因数读出来后咋处理,
页:
[1]