教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 建筑文档 >

自己做的ARM的UDP通信实验 - 图文(4)

来源:网络收集 时间:2025-09-13
导读: 义 SetNetPort(); //RTL8019芯片初始化,在global.c中定 InitNic(0); Initial_arp(); Tcp_Initial(); Udp_Initial(); while(1) { } void Uart_SendChar(INT8U data) { while((U0LSR U0THR = data; } 4.2.5 主程序 程

SetNetPort();

//RTL8019芯片初始化,在global.c中定

InitNic(0); Initial_arp(); Tcp_Initial();

Udp_Initial(); while(1) { }

void Uart_SendChar(INT8U data) {

while((U0LSR & 0x00000020) == 0); U0THR = data; }

4.2.5

主程序

程序清单 8 主程序

do {

OSTimeDly(4);

iii=Rec_Packet();

}

while(iii!=0);

}

int main (void) {UBYTE iii;

Timer1_Init();

OSInit(); OSTaskCreateExt(task0, (void *)0,

&task0_stack[2999], TASK_START_PRIO, TASK_START_ID,

15

&task0_stack[0], 3000, (void *)0, 0);

RecPackedFlag=

OSStart(); }

4.2.6

定时器中断控制

程序清单 9 中断控制

OSSemCreate(0);

RecBufOverFlowFlag= OSSemCreate(0); RecTcpPackedFlag= OSSemCreate(0); RecPingPackedFlag= OSSemCreate(0); SendFlag= RecIcmpQFlag= RecTcpQFlag= RecUdpQFlag=

OSSemCreate(1);

OSQCreate(&RecIcmpQ[0],Q_Max_Size); OSQCreate(&RecTcpQ[0],Q_Max_Size); OSQCreate(&RecUdpQ[0],Q_Max_Size);

void Timer1_Init(void) {

OS_ENTER_CRITICAL(); T1IR = 0xffffffff; T1TC = 0; T1TCR = 0x01; T1MCR = 0x03; T1MR0 = 0xffffff; OS_EXIT_CRITICAL();

16

}

void Timer1(void) {

static uint8 m_10sec=0; static uint8 p_sec=0; static uint8 uint8 num;

p_min=0;

OS_ENTER_CRITICAL(); T1IR = 0x01;

m_10sec++; if(m_10sec==100) {

p_sec++; m_10sec=0; if(Ping_IP_TTL>0) { }

if(p_sec==60) {

p_min++; p_sec=0; if(p_min==60)

17

Ping_IP_TTL--;

for(num=0;num

for(p_min=0;p_min

if(Gateway_IP_TTL>0)

NetPort[num].Gateway_IP_TTL--;

if(NetPort[num].ARP_TERM[p_min].TTL>0)

NetPort[num].ARP_TERM[p_min].TTL--;

断结束

}

}

{ }

p_min=0;

}

VICVectAddr = 0; // 通知中断控制器中OS_EXIT_CRITICAL();

18

第5章 实验结果

将EasyARM2200教学实验平台上的JP4跳线短接,JP6跳线设置为Bank0-RAM和Bank1-FLASH,用配套的网线连接EasyARM2200教学实验平台和PC机。

选用DebugInExram生成目标,编译连接工程。

选择Project?Debug,启动AXD进行JTAG仿真调试,全速运行。

在PC机端打开Windows操作系统的“开始”?“运行”,键入“ping 172.30.172.77 –t”如图 5,然后单击“确定”,就可以看到PING成功的信息,如图 6

图 5 运行ping命令

图 6 PING成功

19

在PC机端打开光盘配套UDPtest软件,在远程主机地址栏键入172.30.172.77,远程端口号填入1025,本地端口号填入1026就可以发送数据到EasyARM2200教学实验平台了,结果如图 7所示,发送的数据被完整地返回了,如果发送以“A”开始的字符串,就会返回5次“ZLGMCUyhbabcdefghijklmnopqrstuv wxyz”。结果如图 8所示。

图 7 返回发送的数据

图 8 输入以A开头的字符串返回结果

20

自己做的ARM的UDP通信实验 - 图文(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/438410.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)