//*********************************************************************************************************8
SERV=!www.runsunc-sz.com:2003
DIAL=*99***1#
STOP=++++++
HTST=heartbeat!
MUID=gprs@sina.com.cn
MPAS=test
MADD=gprs@sina.com.cn
SMTP=mail.sina.com
GSTR=AT+CGDCONT=1,"IP","cmnet"
GPAS=gprs
IREF=!www.sina.com.cn
SERB=0
HOST=13920040020
USER=CARD
PASS=CARD
HALF=0
DELY=200
GSET=1
help half
HALF---define the half-485/422 mode
Example: half=1/0 --- set the mode on/off
Note:if changed,need reset to enable
ECHO=1 AUTO=1 PROT=1 MODE=0 MESG=1
UPGR=0 SERI=0 BAUD=7 SLEN=20 TOUT=100
RPPP=500 LIVE=8 HTTM=60
FLOW=0
SERV=!www.runsunc-sz.com:2003
DIAL=*99***1#
STOP=++++++
HTST=heartbeat!
MUID=gprs@sina.com.cn
MPAS=test
MADD=gprs@sina.com.cn
SMTP=mail.sina.com
GSTR=AT+CGDCONT=1,"IP","cmnet"
GPAS=gprs
IREF=!www.sina.com.cn
SERB=0
HOST=13920040020
USER=CARD
PASS=CARD
HALF=0
DELY=200
GSET=1
/***********************************************************************************************************
ftp://ftp.sdedu.net/download/Software/OperationSystem/win2ksp4/
ftp://ftp.sdedu.net/download/Software/AntiVirus/Sasser/FxSasser.exe
/*---------------- 24CXX读写程序 ----------------*/
void start24c(void) //开始启动
{ sda=1;scl=1;
nop();
sda=0;
nop();
}
void stop24c(void) //停止
{ sda=0;scl=1;
nop();
sda=1;
nop();
}
void ack24c(void) //正向回应
{ sda=0;
nop();
scl=1;
nop();
scl=0;
}
void noack24c(void) //反向回应
{ sda=1;
nop();
scl=1;
nop();
scl=0;
}
void send24c(uchar dd) //内部函数,发送数到i2c
{ uchar bitcounter=8;
uchar temp;
do {
temp=dd;
scl=0;
nop();
if((temp&0x80)==0x80)
sda=1;
else
sda=0;
scl=1;
temp=dd<<1;
dd=temp;
bitcounter--;
} while(bitcounter);
scl=0;
}
uchar rece24c(void) //内部函数,从i2c接收数
{ uchar temp=0,temp1=0,bitcounter=8;
sda=1;
do {
scl=0;
nop();
scl=1;
nop();
if(sda)
temp=temp|0x01;
else
temp=temp&0xfe;
if(bitcounter-1)
{ temp1=temp<<1;
temp=temp1;
}
bitcounter--;
} while(bitcounter);
return(temp);
}
/** 向I2C写数据,器件号(页号)(addr24crom_w,addr24crom_r), */
/* 可调用函数: 将dd写入24c 中的address地址中 */
void write24c(uchar addr24crom_w,uchar dd,uchar address)
{ con1=0;
start24c();
send24c(addr24crom_w);
ack24c();
send24c(address);
ack24c();
send24c(dd);
ack24c();
stop24c();
delay(1);
con1=1;
}
/** 从I2C读数据,器件号(页号)(addr24crom_w,addr24crom_r), */
/* 可调用函数: 从24c 中的address地址中读出数,返回值为该读数 */
uchar read24c(uchar addr24crom_w,addr24crom_r,address)
{ uchar dd;
start24c();
send24c(addr24crom_w);
ack24c();
send24c(address);
ack24c();
start24c();
send24c(addr24crom_r);
ack24c();
dd=rece24c();
scl=0;
noack24c();
stop24c();
return(dd);
}
/*--------------------- ADC0832 控制程序 -------- -----*/
void adcck(void) // 一个时钟周期
{ adcclk=1; sdelay(5);
adcclk=0; sdelay(5);
}
uchar readadc(bit b1,b0) //读0832中通道(b1,b0)中的一个数
{ uchar i,ch;
ch=0; // 清零
adccs=0; // cs 低电平有效
adcclk=0;sdelay(3);
adcdo=1;sdelay(3);
adcclk=1;sdelay(3); //当do为1时,脉冲沿送出,启动开始
adcclk=0;sdelay(3);
adcdo=b1;sdelay(3);
adcclk=1;sdelay(3);
adcclk=0;sdelay(3);
adcdo=b0;sdelay(3);
adcclk=1;sdelay(3); //配置通道
adcck(); //一个稳定时钟
ch=0;
for (i=0; i<8; i++)
{ adcck(); ch=(ch<<1)|adcdo; }
adccs=1;
return(ch);
}
/*------------------------------RS232 --------------------------*/
/*速率:1200b 使用定时器方式1 */
void rs232init(void) //通讯初始化
{
TMOD=0x20; //设置1200B速率时的定时器1方式
TL1=0xe8; TH1=0xe8; //计算初值为1200B
SCON=0xd8; //设定串口工作方式3
PCON=0x00;
TR1=1; //定时器1有效
}
//向串口发送一个字符
void send232c(unsigned char ch)
{
SBUF=ch;
while(TI==0);
TI=0;
}
//从串口收一个字符,非中断
uchar rece232c(void)
{uchar ch;
while(RI==0);
RI=0;
ch=SBUF;
return(ch);
}
//向串口发送一个字符串,strlen为该字符串长度
uchar rs232t(uchar *str,strlen)
{ uchar k=0,ch;
do
{ send232c(*(str + k));
k++;
} while(k < strlen); //发strlen个字符
send232c('}'); //发校验码
ch=rece232c(); //等上位机校验
return(ch);
}
/*------------------------------RS232 --------------------------*/