uCOSII +Lwip移植,如何解决以太网接受数据阻塞的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uCOSII +Lwip移植,如何解决以太网接受数据阻塞的问题相关的知识,希望对你有一定的参考价值。

在uCOSII的新建任务中不仅要求从网口接受数据,还要发送数据。但是因为网口接受数据是工作在阻塞模式的,只要接收不到数据就会任务挂起并转到其他任务中去执行,直到接收到服务器端发送的数据该任务才会继续往下执行。但是该任务要5秒钟向服务器发送心跳数据包,如果阻塞的话就会导致直到接收到服务器端的数据后才会发一次数据。

参考技术A 为了简单易懂,不说那些难懂名词了,我个人解释如下:
bt是开放端口进行点对点传输,但是你在一个内网里面,别人访问这个端口是先访问你网络的服务器,如果没做端口映射别人访问这个端口就不会找到你的电脑。也就说假设你的bt端口是123456,别人访问你服务器的123456端口不会连接到你的为了简单易懂,不说那些难懂名词了,我个人解释如下:
bt是开放端口进行点对点传输,但是你在一个内网里面,别人访问这个端口是先访问你网络的服务器,如果没做端口映射别人访问这个端口就不会找到你的电脑。也就说假设你的bt端口是123456,别人访问你服务器的123456端口不会连接到你的计算机上来,因为服务器不知道这是要访问你。
解决方法:
1、找管理员在路由器上给你做端口映射,不过这个方法基本不大可能,校园网好像都不准吧。
2、开启自动upnp端口映射,前提是路由器支持upnp。推荐使用bitcomet,不用怎么设置,内网下载之王,比较适合国内bt环境计算机上来,因为服务器不知道这是要访问你。
解决方法:
1、找管理员在路由器上给你做端口映射,不过这个方法基本不大可能,校园网好像都不准吧。
2、开启自动upnp端口映射,前提是路由器支持upnp。推荐使用bitcomet,不用怎么设置,内网下载之王,比较适合国内bt环境

STM32开发 -- UCOSII移植

一、UCOS简介

之前讲过一部分UCOSII,参看:STM32开发 – UCOSII

但是讲的有点糙了,现在参看正点原子的STM32F4 UCOS开发手册 V3.0,重点看一下UCOSII和UCOSIII的移植。

1、UCOS简介

uCOS(也有人叫uC/OS)由美国人 Jean Labrosse在1992年编写的一个实时操作系统。1998年更新到uCOS-II,并于2000年得到美国航天管理局(FAA)认证,可以用于飞行器中。
官方网站:www.micrium.com

2、uCOS-II的特点

(1)可裁剪
uCOS-II源代码中有一个专门裁剪系统的配置文件,通过各种宏的打开或者关闭那些不需要用到的系统服务,这样可以大大减少平台移植uCOS-II所需要的存储空间。
(2)便于移植
uCOS-II基本全部都是C语言写的,只有和微处理器相关的那部分是用汇编写的,汇编所占比例极小,从而使得uCOS-II便于移植到各种微处理器上,事实上uCOS-II已经运用到了大部分8位、16位、32位的MCU中了。
(3)抢占式
uCOS-II是支持抢占式的,系统总是运行多个任务中优先级最高的那个就绪任务,高优先级会就绪任务会抢占正在运行的任务,实时性得到保证。
(4)多任务
uCOS-II会同时支持255个任务,实际上不会用到这么多,看具

以上是关于uCOSII +Lwip移植,如何解决以太网接受数据阻塞的问题的主要内容,如果未能解决你的问题,请参考以下文章

STM32开发 -- UCOSII移植

STM32开发 -- UCOSII移植

STM32开发 -- UCOSII移植

STM32开发 -- UCOSII移植

STM32开发 -- UCOSII移植

ucosii笔记1:移植