datacheck.c

来自「讲述ADE7755芯片的基本知识和一些基本应用包含C语言编程」· C语言 代码 · 共 87 行

C
87
字号
#include <REG932.H>
#include <define.h>
#include <Stdio.h>
#include <Intrins.h>
//------------------------------ *** - 判断指令数据交验和是否正确 - *** ------------------------------//
bit CheckSum(void)
{
    bit SumFg;
    SumFg=0;
    if(EleChk(InceptBuf,InceptBuf[9]+10)==InceptBuf[InceptBuf[9]+10])
    {
        SumFg=1;
    }
    return SumFg;
}
//------------------------------ *** - 判断指令数据是否是单独指令 - *** ------------------------------//
bit CheckAvailabilityAdd(void)
{
    bit AddFg;
    unsigned char i;
    for(i=0;i<6;i++)
    {      
	    if(InceptBuf[1+i]==0xaa)
        {
            if(DataSaveSt)
            {
                AddFg=0;
            }
            else
            {
                AddFg=1;
            }
        }
        else
        {
            if(InceptBuf[1+i]==MeterAdd[i])
            {
                AddFg=1;
            }
            else
            {
                AddFg=0;
                break;
            }
        }
    }
    return AddFg;
}
//------------------------------ *** - 判断指令数据是否是广播指令 - *** ------------------------------//
bit CheckBroadcast(void)
{
    bit AddFg;
    unsigned char i;
    for(i=0;i<6;i++)
    {
	    if(InceptBuf[1+i]==0x99)
        {
            AddFg=1;
        }
        else
        {
            AddFg=0;
            break;
        }
    }
    return AddFg;
}
//------------------------------ *** - 判断指令数据控制密码是否正确 - *** ------------------------------//
void SnCheck(void)
{
	unsigned char i;
	IicMByteRead(0xa0,0x20,IicBuf,3);
    //编程密码校验
	for(i=0;i<3;i++)
	{
		if(InceptBuf[13+i]==IicBuf[i])
        {
           PrgSn=1;
        }
        else
        {
           PrgSn=0;
		   break;
        }
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?