📄 main.c
字号:
///
#include "mb90540.h"
///
unsigned char run_time;
unsigned char rtu_stat;
//unsigned int delay_time1;
//unsigned char r_mark=0;
unsigned char com_int_tmout[4]={0,0,0,0};//add 03--2--8
unsigned char init_flag[4]={0,0,0,0};
void yx_fm_init(void)
{
IO_WORD i;
IO_BYTE k,l;
for (l=0;l<32;l++)
{
for (k=0;k<64;k++)
{
yx_fm1_cs(l,k)=0xaa55;
}
}
i=0;
while ((yx_fm_para1(i)!=0xff)&&(i<512))
{
k=(yx_fm_para1(i)&0x1f)-1;
l=yx_fm_para1(i+1)&0x3f;
yx_fm1_cs(k,l)=i/2;
i+=2;
}
}
void initpro(void)
{
DDR4 = 0xc7; // define Port4 as output
PDR4 = 0x00;
ADER=0;
DDR6=0XFF;
DDR6_D64=1;
PDR6_P64=1;
DDR9=0xff;
PDR9=0xff;
DDR5_D52=1;
PDR5_P52=0;
DDR5_D51=1;//03-01-12
PDR5_P51=1;
ELVR=0X28; //GAO DIAN PING INT1:0x28
EIRR=0X00; //INT1 FLAG
ENIR=0X06; //INT2 INTERRUPT ENBLE:TXD3,TXD4;0X04:0x06
//INT1 :TXD1,TXD2;0X02
// ICR14 = 3;
}
void run_led (void)
{
if (run_time>100)
{
PDR6_P64=~PDR6_P64;
run_time=0;
}
}
void main (void)
{
__DI();
initpro();
if (sys_markst!=0x33cc55aa)
{
sys_markst=0x33cc55aa;
run_mark=0x01;
run_time1=0;
power_count=0x04;
rtu_stat=0x03;
}
else
{
power_count=0;
ICR02=6;
ICR04=6;
}
initUart1();
initSIO2();
eep_init();
read_eeprom();
yx_fm_init();
InitCan0_mck();
InitCan1_ml();
inituart0();
PDR5_P51=0;//03-1-12
__wait_nop();
__wait_nop();
PDR5_P51=1;
// if(power_count!=0)
// init_sc1801();
cdt_cl_num();
cdt_f_cl();
cdt_cl_num0(); // 修改于03.02.27
cdt_f_cl0();
cdt_cl_num2();
cdt_f_cl2();
yksm_init();
InitReloadTimer();
InitIrqLevels();
WTC=0x03;//0X06; 03-1-12
WDTC=0x00;//0x03;
__set_il(7); // set ILM to 7,
__EI(); // allow all interrupt levels
can1_tx_init(); //GSM 初始化
//can0_tx_time();
cl_ad1();
cl_ad1();
cl_enabletxd();
while(1)
{
/*if ((run_mark_a1==1)&&(run_mark_a0==0))
{
__DI();
run_mark_a1=0;
init_com0();
init_com1();
ICR02=6;
init_com2();
ICR04=6;
__EI();
}*/
run_led();
can0_cl();
// WDTC_WTE=0;
can1_cl();
sjcl();
WDTC_WTE=0;
// sc1801_cl();
uart0_cl();
uart1_rxcl();
WDTC_WTE=0;
write_eeprom();
cdt_cl();
cdt_cl0(); //修改于03.02.27
cdt_cl2();
yksm();
// cdt_start_send2();
/*if(init_flag[0]==1)
{
init_flag[0]=0;
__DI();
init_com0();
ICR02=6;
__EI();
}
if(init_flag[1]==1)
{
init_flag[1]=0;
__DI();
init_com1();
ICR02=6;
__EI();
}
if(init_flag[2]==1)
{
init_flag[2]=0;
__DI();
init_com2();
ICR04=6;
__EI();
}*/
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -