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

📄 main.c

📁 用ADE7169F16单片机实现了单向多费4率电能表
💻 C
字号:
/*************************************
;Ade7169 demo program
;*************************************
;AUTHOR:        Su RuTong
;DATE:          03 09 2006
;*************************************/


#include "hal.h"
#include "public.h"
#include "main.h"
#include "sys_init.h"
#include "sys_event.h"
#include "utilities.h"
#include "UART.h"
#include "Display.h"
#include "storage.h"



/****************************************************************************************************/
code const EVT_PROC_PTR _evt_handle[]=
{
    /*
    _on_uart,
    _on_ade7758_irq,
    _on_ade7758_nirq,
    _on_view_page,
    _on_break_power,
    _on_5_minutes,
    _on_save_req_pwr,
    _on_seconds,
    _on_cancle_alarm_sound,
    _on_init_ade7758,
    _on_minute,
    */
        _on_tick,
	_on_comm,
	_on_500ms,
	_on_power_down,
	_on_second,
	_on_minute,
	_on_hour,
	_on_day
};

#define SYS_EVENT_MAX     (sizeof(_evt_handle)/sizeof(EVT_PROC_PTR))
#define SYS_EVENT_MASK   ((1 << SYS_EVENT_MAX) - 1)

void _sys_event(void)
{
	unsigned char i,int_event_mask = 1;

	for(i=0;i<SYS_EVENT_MAX;i++)
	{
	    if((EVT_WORD&int_event_mask))
		{
			// do_sys_chk();
			_evt_handle[i]();
			DEL_EVT(int_event_mask);
			CLR_WDT();
			// _do_regs_chk();
		}
		if((EVT_WORD&SYS_EVENT_MASK)==0){break;}
		int_event_mask <<=1;
	}
}
/****************************************************************************************************
    void (* LP_func_ptr)(void);
    LP_func_ptr = (void (*) (void))Table_LP_Func[LP_Task];
    (*LP_func_ptr)();
****************************************************************************************************/

void main(void)
{
    __disable_interrupt();
    mcu_init();
    //delay(0xFF00);
    __ret_int();
    __ret_int();
    sys_init();
    dev_init();
    __enable_interrupt();

    while(1)
    {
        _sys_event();
        if(LowVDCINFlag)
        {
            ADD_EVT(EVT_OF_POWER_DOWN);
        }
        CLR_WDT();
        power_detect_proc();
    }
}






⌨️ 快捷键说明

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