📄 app.c.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 + -