?? main.c
字號:
#include <stdio.h>
#include <absacc.h>
#include <intrins.h>
#include <./Atmel/at89x52.h>
#include "source.h"
struct MY_TIMER TT[TIMER_NUM];
struct volt_detect volt_group;
TMDEV_OPS Opsgp;
void time2() interrupt T2_INT
{
unsigned char i;
for(i=0;i<TIMER_NUM;i++)
{
if(TT[i].enable==1)
{
if(TT[i].count==0)
{
TT[i].enable=0;
TT[i].flag=1;
}
else{
TT[i].count--;
}
}
}
TF2=0;
}
void start_timer(void)
{
T2CON=0X00;
RCAP2L=TIMER2L; //10ms
TL2=TIMER2L;
RCAP2H=TIMER2H;
TH2=TIMER2H;
ET2=1;//enable timer2 interrupt
TR2=1;//start timer
}
void reset_timer(unsigned char i)
{
TT[i].enable=0;
TT[i].count=0;
}
void set_timer(unsigned char i,unsigned int count) // time out counter*10ms
{
TT[i].count=count;
TT[i].enable=1;
TT[i].flag=0;
}
main()
{
unsigned char fsm_adc=0;
unsigned int V_ADJ=0,i;
EEPROM_DATA Eprom;
IE=0X40;
start_timer();/*開始定時器*/
EA=1; /* Enable interrupts */
TMOD=0x22;//timer1 mode 2 timer0 mode 2 (8 bit auto reload mode)
set_timer(WRITE_TIMER,WRITE_TIMER_LEN);
set_timer(READ_TIMER,READ_TIMER_LEN);
eeprom_read(OffsetOf(EEPROM_DATA,vol), sizeof(Eprom.vol),(unsigned char *)&Eprom.vol);
/*采用OffsetOf()宏可以知道成員函數在EEPROM中的具體地址位置,這樣可以不用記住EEPROM中某個*/
/*存儲變量的具體位置,以后添加存儲變量更加靈活*/
eeprom_write(OffsetOf(EEPROM_DATA,cnt), sizeof(Eprom.cnt),(unsigned char *)&Eprom.cnt);
I2C_lineOpen(&I2c,100);//初10k
for(i=0;i<1204;i++){
Eprom.buf[i]=i&0xff;
}
while(1){
if(TT[WRITE_TIMER]){
set_timer(WRITE_TIMER,WRITE_TIMER_LEN);
if(!Opsgp.dealing)
At24c64_Write((unsigned char *)Eprom.buf,OffsetOf(EEPROM_DATA,buf),512);
}
if(TT[READ_TIMER]){
set_timer(READ_TIMER,READ_TIMER_LEN);
if(!Opsgp.dealing)
At24c64_Read((unsigned char *)Eprom.buf,OffsetOf(EEPROM_DATA,vol),512);
}
if(Opsgp.eeprom_read_over){
if(Opsgp.eeprom_read_over==1){
//Eeprom read ok.
}
else{
//Eeprom read error .
}
Opsgp.eeprom_read_over=0;
}
if(Opsgp.eeprom_write_over){
if(Opsgp.eeprom_write_over){
// Eprom Write Ok
}
else{
// Eprom Write Err
}
Opsgp.eeprom_write_over=0;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -