- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
线程管理的实现 由于uC/OS-II中每个任务都具有唯一的优先级,因此prio可以作为LwIP线程的一个标识,以区分不同的线程。 实际上sys_arch_timeouts( )正是通过这一标识来定位当前线程的超时等待链表的。 实验平台准备 软件平台最重要的部分是开发环境。 采用Renesas的High-performance Embedded Workshop进行编程开发。 为了方便调试,华中科技大学瑞萨高级嵌入式控制器实验室开发了专门针对Renesas M16C/62P单片机的监控程序。 通过该监控程序,将用户应用程序下载至ROM或者RAM,可以实现调试功能 嵌入式WEB服务器的设计 浏览器访问WEB服务器所使用的是HTTP协议。 客户(WEB服务器)通过HTTP协议向服务器发送请求 服务器根据HTTP协议对客户端发来的请求进行解码,并对其作出应答。 HTTP使用TCP作为运输层,客户在向服务器发送请求之前,要先与服务器的IP地址在端口80(HTTP的知名端口)建立一个连接。 服务器在端口80侦听进入的连接,并接受和处理客户的请求。 由于只是对LwIP协议栈进行测试和验证,因此设计的WEB服务器只对客户端的GET请求作出应答,而对其它请求一概不予理会。 嵌入式WEB服务器的设计 浏览器与WEB服务器交互的示意图。 图中浏览器运行在PC机(或支持浏览器的其它设备)上,WEB服务器运行在Renesas M16C/62P嵌入式开发平台上,二者通过网络进行连接。 所有的数据交互过程受TCP/IP协议族的制约。 嵌入式WEB服务器的实现 在进行了必要的初始化工作后,打开TCP的80端口并对该端口进行侦听。 一旦客户发起请求,则服务器接受并解析该请求。 如果请求正确,则服务器将相应的页面内容发送给客户端,而客户端(通常是浏览器)将该页面直观地显示出来。 至此,一次完整的交互过程已完成。服务器或者继续侦听更多的请求,或者主动关闭。 主流程图 主要程序的实现 (1)HTTP主线程 HTTP的主线程首先注册一个新的TCP连接,并将其绑定到80端口。 随后该连接进入侦听的状态,一旦接受到客户发起的连接请求,则调用process_connection( )函数进行处理。 主要程序代码如下: static void httpd_thread(void *arg) { struct netconn *conn, *newconn; ? /* Create a new TCP connection handle. */ conn = netconn_new(NETCONN_TCP); 主要程序的实现 ? /* Bind the connection to port 80 on any local IP address. */ netconn_bind(conn, NULL, 80); ? /* Put the connection into LISTEN state. */ netconn_listen(conn); ? /* Loop forever. */ while(1) { /* Accept a new connection. */ newconn = netconn_accept(conn); if(newconn != NULL) { /* Process the incomming connection. */ process_connection(newconn); /* Deallocate connection handle. */ netconn_delete(newconn); } OSTimeDly(2); } } 主要程序的实现 (2)处理连接的函数 实际的处理连接过程由process_connection( )函数完成。 该函数对客户请求进行解码:如为GET请求,则将网页内容发送给请求客户端;否则不予理会。 网页内容如下: /* This is the data for the actual web page. */ static char indexdata[] = htmlheadtitleM16C - uC/OS-II Webserver testpage./title \ /head \ body bgcolor=\darkGray\ text=\black\ link=\blue\ \ h1 align=center Welcome to this testpage. /h1 \ ph3This website is running LwIP on a M16C 16-bit microcontroller, using uC/OS-
您可能关注的文档
- 2018二轮复习专题一第3讲我国古代文明的辉煌与衰落——明清(1840年前).ppt
- 2018压缩语段讲义.ppt
- 2018年同等学力人员申请硕士学位英语水平考试攻题型构造分析与复习建议.ppt
- 2018年安全员b证考试题和答案.pdf
- 2018届高三语文一轮复习《鉴赏诗歌中的景物形象》讲义(共24张).ppt
- 2018护理分级标准解读.ppt
- 2018届高三一轮复习我国的河流与湖泊.ppt
- 2018新人教版4《四季》讲义.ppt
- 2018我国外交政策的基本目标和宗旨.ppt
- 流感诊治指南解读 .ppt
- GB/Z 17626.35-2025电磁兼容 试验和测量技术 第35部分:HPEM模拟器概述.pdf
- 《GB/Z 17626.35-2025电磁兼容 试验和测量技术 第35部分:HPEM模拟器概述》.pdf
- GB/T 7391-2025海洋调查船术语.pdf
- 中国国家标准 GB/T 7391-2025海洋调查船术语.pdf
- 《GB/T 7391-2025海洋调查船术语》.pdf
- 《GB/T 7714-2025信息与文献 参考文献著录规则》.pdf
- GB/T 7714-2025信息与文献 参考文献著录规则.pdf
- 中国国家标准 GB/T 7714-2025信息与文献 参考文献著录规则.pdf
- 中国国家标准 GB/T 29484.503-2025船舶电气设备 第503部分:专辑 电压1 kV以上至不大于36 kV的交流供电系统.pdf
- GB/T 29484.503-2025船舶电气设备 第503部分:专辑 电压1 kV以上至不大于36 kV的交流供电系统.pdf
最近下载
- 交通设计复习归纳.pdf VIP
- 电子病历系统应用水平三级实证材料通用模板(数据质量部分)(2024版).doc VIP
- 艾肯MICU声卡安装调试教程.docx VIP
- 浙江物理学考实验.docx VIP
- 超星尔雅学习通《中华诗词之美》章节测试答案满分版.doc VIP
- 学堂在线 雨课堂 学堂云 西方哲学精神探源 期末考试答案.docx VIP
- 古诗词诵读《春江花月夜》公开课一等奖创新教学设计统编版高中语文选择性必修上册.docx VIP
- 道路清扫保洁投标方案(技术标).pdf
- 上海市2020-2021学年上学期高二英语期中试题精选汇编:选词填空专题%28部分含解析).doc VIP
- TB∕T 2347-1993 高强度接头螺栓和螺母(高清版).pdf VIP
原创力文档


文档评论(0)