main.c

来自「低压电力线载波通信PL3200驱动程序」· C语言 代码 · 共 75 行

C
75
字号
/********************************************************************
包含头文件
********************************************************************/
#define   IN_MAIN
#include "PL3200.H"
#include "RAM.H"
#include "IO.H"

/********************************************************************
引用的外部函数
********************************************************************/
extern void InitRAM(void) ;
extern void InitSys(void) ;
extern void InitSysRef(void) ;
extern void DLT645_To_ZB(void) ;
extern void ZB_To_DLT645(void) ;
extern void InitLED(void) ;
extern void SetZbMode(void) ;
extern void Series_Data_Upload(void) ;
extern void VersionAnswer(void) ;

/********************************************************************
主程序
********************************************************************/
void main(void)
{
    uint16 i ;
    for(i=0;i<0x3ff;i++)
    {//上电延时
        P1 = 0xff ;
        P2 = 0xff ;
        P3 = 0xff ;
        WDT_RST = 0xa1 ;
    }
    InitLED() ;
    InitRAM() ;
    InitSys() ;
    
    
    while(1)
    {
        soft_bit = 1 ;
        
        InitSysRef() ;
        
        if(!zb_busy_bit)   
        {//设置DEMO板载波通讯方式
            SetZbMode() ;
        }
       
        if(COM0_RECE_OK=='C')
        {//把从串口接收的数据从载波发出
            COM0_RECE_OK = 0 ;
            DLT645_To_ZB() ;
        }
        else 
        {
            if(COM0_RECE_OK=='F')
            {//厂商号应答
                COM0_RECE_OK = 0 ;
                VersionAnswer() ;
            }
        }
        
        if(ZB_RECE_OK=='Z')
        {//载波接收到,上传上位机
            ZB_RECE_OK = 0 ;
            ZB_To_DLT645() ;
        }
        else if(!BELOW_OK_IO)
        {//下级芯片数据传递,上传上位机
            Series_Data_Upload() ;
        }
    }
}

⌨️ 快捷键说明

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