初级会员

- 积分
- 142
- 金钱
- 142
- 注册时间
- 2018-3-28
- 在线时间
- 16 小时
|

楼主 |
发表于 2018-5-19 20:32:08
|
显示全部楼层
贴完另一个函数吧
/*************************************************************
** 函数名称:CS5463_GetCurrentRMS
** 函数功能:读取电流有效值函数
** 函数参数:无
** 创建时间:2009-9-15
** 第一次修改时间:无
**************************************************************/
static void CS5463_GetCurrentRMS(void)
{
fp32 G = 0.5,result;
uint32 temp1;
uint8 temp,i,j;
CS5463ReadReg(REG_IRMSR,RX_Buff); //读取电流有效值
//SndCom1Data(RX_Buff,3);
i = 0;
result = 0;
while(i<3)
{
temp = RX_Buff[i]; // 读写缓冲区?
j = 0;
while(j<8)
{
if(temp&0x80)
{
result += G;
}
temp <<= 1;
j++;
G = G/2;
}
i++;
}
result = result*CS5463_IScale;//I_Coff; //计算电流值 暂时不用
result *= 1000; //单位mA(毫安) 12345ma
temp1 = (uint32)result;
aa= temp1/10000;
DisplayOneChar(0,1,aa+0x30);
bb= (temp1%10000)/1000;
DisplayOneChar(1,1,bb+0x30);
cc=(temp1%1000)/100;
DisplayOneChar(2,1,cc+0x30);
dd= (temp1%100)/10;
DisplayOneChar(3,1,dd+0x30);
ee=temp1%10;
DisplayOneChar(4,1,ee+0x30);
LcdShowStr(6,1," mA");
} |
|