|
@@ -12,6 +12,7 @@
|
|
|
#include "systick.h"
|
|
#include "systick.h"
|
|
|
#include "uart.h"
|
|
#include "uart.h"
|
|
|
#include "timer.h"
|
|
#include "timer.h"
|
|
|
|
|
+#include "mb.h"
|
|
|
#if HLW8110
|
|
#if HLW8110
|
|
|
|
|
|
|
|
#define HIGH 1
|
|
#define HIGH 1
|
|
@@ -208,8 +209,8 @@ void Uart_Read_HLW8110_Reg(unsigned char ADDR_Reg,unsigned char u8_reg_length)
|
|
|
|
|
|
|
|
|
|
|
|
|
Clear_RxBuf(); //清空接收缓冲区
|
|
Clear_RxBuf(); //清空接收缓冲区
|
|
|
- Awaken_Hlw8110();
|
|
|
|
|
- DelayNms(2);
|
|
|
|
|
|
|
+ //Awaken_Hlw8110();
|
|
|
|
|
+ //DelayNms(2);
|
|
|
Start_Send_UartData(u8_TX_Length);
|
|
Start_Send_UartData(u8_TX_Length);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -522,6 +523,7 @@ void Read_HLW8110_IA(void)
|
|
|
{
|
|
{
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
|
|
+ eMBPoll();
|
|
|
DelayNms(2);
|
|
DelayNms(2);
|
|
|
}
|
|
}
|
|
|
if ( u8_RxBuf[u8_RX_Length-1] == HLW8110_checkSum_Read(u8_RX_Length) )
|
|
if ( u8_RxBuf[u8_RX_Length-1] == HLW8110_checkSum_Read(u8_RX_Length) )
|
|
@@ -566,6 +568,7 @@ void Read_HLW8110_U(void)
|
|
|
{
|
|
{
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
|
|
+ eMBPoll();
|
|
|
DelayNms(2);
|
|
DelayNms(2);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -614,6 +617,7 @@ void Read_HLW8110_PA(void)
|
|
|
{
|
|
{
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
|
|
+ eMBPoll();
|
|
|
DelayNms(2);
|
|
DelayNms(2);
|
|
|
}
|
|
}
|
|
|
//DelayNms(10);
|
|
//DelayNms(10);
|
|
@@ -663,6 +667,7 @@ void Read_HLW8110_EA(void)
|
|
|
{
|
|
{
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
|
|
+ eMBPoll();
|
|
|
DelayNms(2);
|
|
DelayNms(2);
|
|
|
}
|
|
}
|
|
|
//DelayNms(10);
|
|
//DelayNms(10);
|
|
@@ -717,7 +722,9 @@ void Read_HLW8110_LineFreq(void)
|
|
|
{
|
|
{
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
|
|
+ eMBPoll();
|
|
|
DelayNms(2);
|
|
DelayNms(2);
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
//DelayNms(10);
|
|
//DelayNms(10);
|
|
|
if ( u8_RxBuf[u8_RX_Length-1] == HLW8110_checkSum_Read(u8_RX_Length) )
|
|
if ( u8_RxBuf[u8_RX_Length-1] == HLW8110_checkSum_Read(u8_RX_Length) )
|
|
@@ -757,6 +764,7 @@ void Read_HLW8110_PF(void)
|
|
|
{
|
|
{
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
|
|
+ eMBPoll();
|
|
|
DelayNms(2);
|
|
DelayNms(2);
|
|
|
}
|
|
}
|
|
|
//DelayNms(10);
|
|
//DelayNms(10);
|
|
@@ -780,7 +788,7 @@ void Read_HLW8110_PF(void)
|
|
|
a = (float)b/0x7fffff;
|
|
a = (float)b/0x7fffff;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if (F_AC_P < 0.3) // 小于0.3W,空载或小功率,PF不准
|
|
|
|
|
|
|
+ if (F_AC_P < 1) // 小于0.3W,空载或小功率,PF不准
|
|
|
a = 0;
|
|
a = 0;
|
|
|
|
|
|
|
|
|
|
|
|
@@ -801,6 +809,7 @@ void Read_HLW8110_Angle(void)
|
|
|
{
|
|
{
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
|
|
+ eMBPoll();
|
|
|
DelayNms(2);
|
|
DelayNms(2);
|
|
|
}
|
|
}
|
|
|
//DelayNms(10);
|
|
//DelayNms(10);
|