CC3200使用FreeRTOS多任务多连接问题
时间:10-02
整理:3721RD
点击:
TI工程师,你们好.
我想请问下CC3200是否可以创建多个连接呢?例如创建一个HTTP Server在一个Task里运行,一个TCP Client在一个Task里运行,然后再创建一个UDP Server在一个Task里运行,我看了下SDK提供的例程,有TCP和UDP两个,但是都是无OS的,使用FreeRTOS是否可以3任务同时运行,区别在于每个任务他自己管理好自己的iSockID?
应该可以,记得讲过是可以建立8个socket
TI工程师:
使用FreeRTOS以后,是否所有sl_*的函数的底层都是线程同步的呢?我看到源码,在使用sl_*系列函数下面,最终都会有taskENTER_CRITICAL();和taskEXIT_CRITICAL();,这是否意味着,即使在多任务中的多连接,它们都各不干扰呢?
可以多任务的多个连接,但是要做好同步和互斥的工作,你可以参考user.h,里面定义了与操作系统的接口,把它们link起来就好了。
你好,可以一个socket配置为Server,另外一个socket配置为client吗?
可以的,这个是没问题的。
然而我发现CC3200作为接收端的话,会存在传输限制,比如某个发送端给CC3200发送数据,两次发送的间隔必须要大于50ms才可以被CC3200正确接收,开了两个socket也没有什么用
据我所知倒没有这个传输限制,你的接收端是UDP还是TCP,是TCP的话在发送端有没有重传?