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

📄 app.c.bak

📁 使用avr--cc2420模块程序,需要原理图的联系 QQ:120304948
💻 BAK
字号:
#include <mega128.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>


#include "typedef.h"

#include "app.h"
#include "attention.h"
#include "Flash.h"
#include "g20modem.h"
#include "g20serialdrv.h"
#include "ombro.h"

#include "rtc.h"
#include "serialdrv.h"
#include "timer.h"
#include "UDP.h"
#include "protocol.h"

#include "key.h"
#include "lcdzk.h"
#include "print.h"
#include "ombrodb.h"


volatile unsigned long ntemp = 0;
//volatile CLK_DAY *pCLK = NULL;
bit system_initial_flag;

/*unsigned char timer_init_code[] = 
{
	0x50, 0x59, 0x23, 0x31, 0x12, 0x7, 0x99
};*/


void system_initial()
{
	system_initial_flag = FALSE;

	timer_init();
	
	EINT;

	CPU_init();
	
	LCD_init();

	
//	disp_my_print("\r        系统初始化\n\n"); 
    disp_hzstr(8,10,"系统初始化"); 
	
	ombro_init();

	EINT;
	inital_flash();
	
	//ombrodb_init();
	
	g20_sp_init();
	sp_init();
	g20_mdm_init();
	EINT;
#if defined (DEBUG_MODE)	
	sp_send("\r\n设备复位\r\n");
#endif

	PRT_init();
	
	initial_protocol();
	
	attention_init();
		
    attention_dialproc();
    
    
    attention_udpproc();
#if defined (DEBUG_MODE)	
	sp_send("\r\n主循环\r\n");
#endif
	rtc_init();

    delay_ms(500);

	system_initial_flag = TRUE;
}

void main(void)
{	
	system_initial();
		
	sclk=0;
	
	disp_title(1); 

	workingloop();
}


void workingloop()
{
//  北京局三家店段
    my_ipaddr.classA = 10;
    my_ipaddr.classB = 14;
    my_ipaddr.classC = 83;
    my_ipaddr.classD = 156;

	

	while(1)
	{
		if (g20_reset)
		{
			g20_mdm_proc();
	        sclk = 0;
            delay_ms(300);
            g20_reset = FALSE;
		}
		if (day_reset)
		{
			ombro_reset();
            day_reset = FALSE;
		}
        wdr();
		udp_sp_proc();		
		sp_proc();
		ombro_proc();
		GetProtocolString();
		if (keyvalue)
		{
			delay_ms(200);
            wdr();
			key_proc(keyvalue);
			keyvalue=0;
		}
	}
}

void CPU_init(void)
{
// Input/Output Ports initialization
// Port A initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out 
// State7=1 State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1 
PORTA=0xFF;
DDRA=0xFF;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=Out 
// State7=P State6=P State5=P State4=T State3=1 State2=1 State1=1 State0=1 
PORTB=0xEF;
DDRB=0x0F;

// Port C initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=In Func0=In 
// State7=0 State6=0 State5=1 State4=1 State3=0 State2=1 State1=P State0=P 
PORTC=0x37;
DDRC=0xFC;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=Out Func3=Out Func2=In Func1=In Func0=Out 
// State7=P State6=P State5=P State4=0 State3=1 State2=T State1=P State0=0 
PORTD=0xEA;
DDRD=0x19;

// Port E initialization
// Func7=Out Func6=Out Func5=Out Func4=In Func3=In Func2=In Func1=Out Func0=In 
// State7=1 State6=1 State5=0 State4=T State3=T State2=T State1=0 State0=P 
PORTE=0xC1;
DDRE=0xE2;

// Port F initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=P State2=P State1=P State0=P 
PORTF=0x0F;
DDRF=0x00;

// Port G initialization
// Func4=In Func3=In Func2=Out Func1=Out Func0=Out 
// State4=P State3=P State2=1 State1=1 State0=1 
PORTG=0x1F;
DDRG=0x07;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// Watchdog Timer initialization
// Watchdog Timer Prescaler: OSC/2048k
#pragma optsize-
WDTCR=0x1F;
WDTCR=0x0F;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif 
}


⌨️ 快捷键说明

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