📄 global.c
字号:
#include "global.h"
//#include <machine.h>
#include "serial.h"
#include "iic.h"
#include "sfr_r81b.h"
#define uchar unsigned char
#define uint unsigned int
uchar time_test ;
uint time_counter ;
//uchar ram_data_check[5];
uchar series_receive_sign ; //
uchar series_receive_counter ;
uchar series_receive_long ;
uchar series_receive_end ;
uchar address_array[10] ;
uchar series_send_sign ;
uchar series_send_long ;
uchar series_send_counter ;
uchar series_send_end ;
uchar series_send_timer ;
//IIC
uchar iic_read_sign ;
uchar counter_check_sign ;
uchar counter_high ;
uchar counter_data ;
uchar counter_ok ;
uint power_counter ;
uint fu_power_counter ;
unsigned long power_save ;
uchar power_save_check ;
unsigned long fu_power_save ;
uchar fu_power_save_check ;
uchar irq0_interrupt_sign ;
uchar pwm_receive_long ;
uchar irq0_receive_sign ;
uchar irq0_receive_counter ;
uchar irq0_receive_end ;
//lcd
uchar display_array[7] ;
uchar power_dowm ;
uchar test_sign ;
uchar start_sign ;
uchar time_long ;
//jdq
uchar jdq_xian ;
uchar ram_check_sign[5] ;
uchar array_temp[10];
void change_ulong(uchar *p,unsigned long *change_data);
void reset_data_load(uint PB_EeprAddr,unsigned long *power ,uchar *check_power);
void total_data_init(void)
{
uchar i ;
series_receive_sign = 0x00 ;
series_receive_counter = 0x00 ;
series_receive_long = 0x00 ;
series_receive_end = 0x00 ;
series_receive_sign = 0x00 ;
series_receive_counter = 0x00;
}
void reset_process(void)
{
uchar check_temp ;
uchar reset_temp[3] ;
uint check_temp1 ;
Read_EeprData(0xa1,reset_temp,3,save_pulse,0);
check_temp = reset_temp[0] + reset_temp[1] ;
if(check_temp == reset_temp[2])
{
check_temp1 = reset_temp[0] + reset_temp[1]*256 ;
if(check_temp1 <320) power_counter = check_temp1 ;
else power_counter = 0x00;
}
else
{
check_temp = 0 ;
check_temp1 = 0 ;
Read_EeprData(0xa1,reset_temp,3,save_pulse,0);
check_temp = reset_temp[0] + reset_temp[1] ;
if(check_temp == reset_temp[2])
{
check_temp1 = reset_temp[0] + reset_temp[1]*256 ;
if(check_temp1 <320) power_counter = check_temp1 ;
else power_counter = 0x00;
}
else
{
power_counter = 0x00 ;
}
}
/******************************************/
Read_EeprData(0xa1,reset_temp,2,jdq_save,0);
if(reset_temp[0] == reset_temp[1])
{
jdq_xian = reset_temp[1] ;
jdq_xian = jdq_xian &0x03 ;
switch(jdq_xian)
{
case 0x01:
{
p1_0 = 1 ;
p1_1 = 1 ;
start_sign = 0x00;
break;
}
case 0x02:
{
p1_0 = 1 ;
p1_1 = 1 ;
start_sign = 0x00;
break;
}
case 0x03:
{
jdq_xian = 0x02;
start_sign = 0x55 ;
break;
}
case 0x00:
{
jdq_xian = 0x01;
start_sign = 0x55;
break;
}
default :
{
break;
}
}
}
else
{
check_temp = 0 ; check_temp1 = 0 ;
Read_EeprData(0xa1,reset_temp,2,jdq_save,0);
if(reset_temp[0] == reset_temp[1])
{
jdq_xian = reset_temp[1] ;
}
else
{
jdq_xian = 0x00 ;
}
}
reset_data_load(now_total_power,&power_save ,&power_save_check);
reset_data_load(fu_now_power,&fu_power_save ,&fu_power_save_check);
}
void reset_data_load(uint PB_EeprAddr,unsigned long *power ,uchar *check_power)
{
uchar check_temp ;
uint check_temp1 ;
Read_EeprData(0xa1,array_temp,5,PB_EeprAddr,0);
check_temp = array_temp[0] + array_temp[1] + array_temp[2] + array_temp[3] ;
if(check_temp == array_temp[4])
{
*check_power = check_temp ;
change_ulong(array_temp,power);
}
else
{
Read_EeprData(0xa3,array_temp,5,PB_EeprAddr,0);
check_temp = array_temp[0] + array_temp[1] + array_temp[2] + array_temp[3] ;
if(check_temp == array_temp[4])
{
*check_power = check_temp ;
change_ulong(array_temp,power);
}
else
{
*power = 0x00 ;
*check_power = 0x00;
}
}
}
void change_ulong(uchar *p,unsigned long *change_data)
{
*change_data = (*(p+3)/0x10)*10000000 +(*(p+3)%0x10)*1000000+
(*(p+2)/0x10)*100000 +(*(p+2)%0x10)*10000+
(*(p+1)/0x10)*1000 +(*(p+1)%0x10)*100+
(*(p+0)/0x10)*10 ;// +(array_temp[0]%10);
}
void reset_wdt(void)
{
wdtr = 0x00 ;
wdtr = 0xff ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -