⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 judgefault.c

📁 一个DSP2812的源代码
💻 C
字号:
/*******************************************************************************
  Copyright (c) 2005,2006 北京中盛华旭电子科技有限公司(VSUNTEK, Ltd.)
  FileName: JudgeFault.C
  Author: 王在东
  Date: 2008.05.28
  Version: 1.0
  Description:故障判断程序 .
  History:
    <Author>wzd
  <Date>  
  <Ver>    
  <Desc>  
  Todo:
*******************************************************************************/

#include "DSP281x_Device.h"     // DSP281x Headerfile Include File
#include "DSP281x_Examples.h"   // DSP281x Examples Include File


Uint16 JudgeFault(float32 *JudgeObject);

Uint16 JudgeFault(float32 *JudgeObject)
{
    Uint16  i,FaultCounter = 0;
	float32 TempData = 0;

    FEED_WATCHDOG;
//220V AC judge    
	for(i=0;i<6;i++)
	{
	    TempData = *JudgeObject++;
		if(TempData>(AC220V_PARA * 1.15) || (TempData<(AC220V_PARA * 0.85) && TempData>1.3))
		{
          FaultCounter++;
		  BusLine_Direct_Set(OUTPUT);
		  LED2_CS_L;
		  BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
          LED2_CS_H;
		}
	}
//30A AC Judge
    for(i=0;i<4;i++)
	{
	    TempData = *JudgeObject++;
		if(TempData>AC30A_PARA)
		{
          FaultCounter++;
		  BusLine_Direct_Set(OUTPUT);
		  LED2_CS_L;
		  BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
          LED2_CS_H;
        }
    }
//280V DC JUDGE
    for(i=0;i<3;i++)
	{
	    TempData = *JudgeObject++;
		if(TempData>(DC280V_PARA * 1.15) || TempData<(DC280V_PARA * 0.85))
		{
          FaultCounter++;
		  BusLine_Direct_Set(OUTPUT);
		  LED2_CS_L;
		  BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
          LED2_CS_H;
        }
    }
//40V DC JUDGE
    for(i=0;i<13;i++)
	{
	    TempData = *JudgeObject++;
		if(TempData>DC40V_PARA_MAX || TempData<DC40V_PARA_MIN)
		{
          FaultCounter++;
		  BusLine_Direct_Set(OUTPUT);
		  LED2_CS_L;
		  BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
          LED2_CS_H;
        }
    }
//TEMP JUDGE
    for(i=0;i<3;i++)
	{
	    TempData = *JudgeObject++;
		if(TempData>TEMP_PARA)
		{
          FaultCounter++;
		  BusLine_Direct_Set(OUTPUT);
		  LED2_CS_L;
		  BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
          LED2_CS_H;
        }
    }
//60A DC JUDGE
    for(i=0;i<13;i++)
	{
	    TempData = *JudgeObject++;
		if(TempData>DC60A_PARA)
		{
          FaultCounter++;
		  BusLine_Direct_Set(OUTPUT);
		  LED2_CS_L;
		  BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
          LED2_CS_H;
        }
    }
//80A DC JUDGE
    for(i=0;i<2;i++)
	{
	    TempData = *JudgeObject++;
		if(TempData>DC80A_PARA)
		{
          FaultCounter++;
		  BusLine_Direct_Set(OUTPUT);
		  LED2_CS_L;
		  BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
          LED2_CS_H;
        }
    }
//ANALOG JUDGE
    for(i=0;i<8;i++)
	{
	    TempData = *JudgeObject++;
		if(TempData>ANALOG_PARA_MAX || TempData<ANALOG_PARA_MIN)
		{
          FaultCounter++;
		  BusLine_Direct_Set(OUTPUT);
		  LED2_CS_L;
		  BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
          LED2_CS_H;
        }
    }
//ON-OFF JUDGE
    for(i=0;i<8;i++)
	{
	    TempData = *JudgeObject++;
		if(TempData == 0)
		{
          FaultCounter++;
		  BusLine_Direct_Set(OUTPUT);
		  LED2_CS_L;
		  BUS_LINE = (BUS_LINE & 0xFF00)| FaultCounter;
          LED2_CS_H;
        }
    }

   return  FaultCounter;
}



⌨️ 快捷键说明

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