⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.txt

📁 实现了基于ARM的GPRS的通信
💻 TXT
字号:
include<e8051m20.h>
defineusunsignedehar
defineul6unsignedint
defineUARTOTBUFSIZE//发送缓冲区长度定义长度可以从最
//大的发送数组得出
//接收缓冲区长度

main()

IPdata=0;
ifend=0;
Pl=&A3[0]:
nl=siZeof(A3);
IPdata=IP夕DP(PI,nl,ifend);
ifend=0;
Pl==&A300【0];
nl=siZeof(A300):
IPdata=IP少DP(PI,nl,ifend):
ifend=l;
PI==&AS[0];
nl=sizeof(A5):
A13=IP一DP(PI,nl,ifend);

IPdata=0;
ifend=0;
PZ=&A300[0」;
nZ=sizeof(A300);
IPdata=IP_UDP印2,nZ,ifend);
ifend=0;
PZ=&AS[0]:
nZ=sizeof(A5):
IPdata=IP_UDP印2,nZ,ifend);
ifend=0;
PZ=&A6【0];
nZ=sizeof(A6);
IPdata=IPeeUDP(PZ,nZ,ifend);
ifend=0;
PZ=&A7[0];
nZ=sizeof(A7):
IPdata=IP一DP印2,nZ,ifend);
ifend=0;
PZ=&AS【0];
nZ=sizeof(A8);
IPdata=IP一DP印2,n2,ifend):
ifend=l;
PZ=&A10[0」;
nZ=sizeof(A10);
A14=IP_UDP(PZ,nZ,ifend);
A4「0]=(A13>>8);
A4[1」=A13&oxff;
Ag[0]=(A14>>8);
Ag[1]=A14&oxff;
ifend=0;
nLength=sizeof(A2):
p=&AZ[O]:
fes=oxffi讥
fcs=Cre16(P,fcs,nLength一eouni,ifend);
ifend=0;

P=&A3【0]:
nLength=sizeof(A3);
eouflt=O;
fes=Crc16印,fcs,nLength一count,ifend):
ifend=0;
P=&A4【0];
nLength=sizeof(A4);
couni=0;
fcs=Crel6印,fes,nLength一count,ifend);
ifend=0;
P=&A300[0];
nLength=sizeof(A300);
eount=0;
fes=Cre16(P,fcs,nLength一count,ifend);
ifend=0;
P=&AS[0」;
nLength=sizeof(A5):
eount=0;
fes=Crel6(P,fcs,nLength一eount,ifend):
ifend=0;
P=&A6[0];
nLength=sizeof(A6);
count=0;
fcs=Crcl6(P,fcs,nLength一count,ifend):
ifend=0;
P=&A7[0];
nLength=sizeof(A7);
count=0;
fcs=Cre16印,fcs,nLength一count,ifend);
ifend=0;
P=&Ag[0];
nLength=sizeof(A9);
count=0;
fcs=Cre16印,fcs,nLength一count,ifend):
ifend=l;刀Crc
68

P=&AIO[0]:
nLength=sizeof(A10):
count=0;
A20O=Cre16(P,fcs,nLength一count,ifend);
A12[0]=(A200>>8);
A12[l]==A200&oxff;
x=A12[0」:
A12[01=A12[1];

loadarray(AI,l);
loadarray(AZ,1);
loadarr盯(A3,10);
loadarray(A4,2);
loadarray(A300,4);
loadarray(AS,4);
loadarray(A6,4);
loadarray(A7,2):
loadarray(Ag,2);
loadarray(A10,18):
loadarray(A12,2);
loadarray(All,1);
TIO=l;
RIO=1;
发送与接受数据子程序
oidreeeive()
ul6i;
eount7e=O;end7e=0;
for(i=0;i<512&&(end7e==1):i++)
{
UARTO一RBUF〔i]=SBUFO;

count7e++;
if(eouni7e==2)刀假设的是数据绝对不会溢出缓冲区,故两个
//7E才是唯一的结束标志
{
end7e=1;
}
}
while(R10==0);
}
RIO=0;
RIO=0;

voidsendmy(u16length)
{
ul6i;
for(i=0:i<length;i++)
{
SBUFO=UARTO一BUF[i]
While(TIO==0);TIO=0;
}
//串口中断服务程序
voidUARTO一SR(void)interruPt4usingl
{
if(RI0)
receive();

elseif(TI0)
{
sendmy(lengtharr叮);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -