【创龙TMS320C665x开发板试用】基础(十九):SYSBIOS-NDK(6)

最后,就是通过NC_NetStart()函数来开启网络了。
这个函数会根据前面几篇中的配置过程与配置的参数启动NDK网络,同时它会创建以下三个回调函数:
网络启动时只运行一次的函数,创建自己的应用程序线程:
void (*NetStart)()
网络被关闭时只运行一次的函数,删除创建的应用程序线程:
void (*NetStop)()
当IP地址改变时运行的函数:
void (*NetiP)(IPN,uint,uint)
 
程序实现如下:

 

  1. do
  2.     {
  3.         rc = NC_NetStart(hCfg, NetworkOpen, NetworkClose, NetworkIPAddr);
  4.     } while(rc > 0);
  5.  
复制代码

 

启动函数NetworkOpen中用TaskCreate函数创建了4个网络应用进程的。

 

  1.     hEcho = TaskCreate(echosrv, "EchoSrv", OS_TASKPRINORM, 0x1400, 0, 0, 0);
  2.     hData = TaskCreate(datasrv, "DataSrv", OS_TASKPRINORM, 0x1400, 0, 0, 0);
  3.     hNull = TaskCreate(nullsrv, "NullSrv", OS_TASKPRINORM, 0x1400, 0, 0, 0);
  4.     hOob  = TaskCreate(oobsrv,   "OobSrv", OS_TASKPRINORM, 0x1000, 0, 0, 0);
复制代码

 

函数中的进程EchoSrv、DataSrv、NullSrv、OobSrv在ndk的安装目录中可以找到,对应的路径为:ndk_2_21_02_43\packages\ti\ndk\tools\servers文件夹。


 
而NetworkClose函数,关闭这四个服务,并删除任务。
 
  1. void NetworkClose()
  2. {
  3.         // 关闭会话
  4.     fdCloseSession(hOob);
  5.     fdCloseSession(hNull);
  6.     fdCloseSession(hData);
  7.     fdCloseSession(hEcho);
  8.  
  9.     // 关闭控制台
  10.     ConsoleClose();
  11.  
  12.     // 删除任务
  13.     TaskSetPri(TaskSelf(), NC_PRIORITY_LOW);
  14.  
  15.     TaskDestroy(hOob);
  16.     TaskDestroy(hNull);
  17.     TaskDestroy(hData);
  18.     TaskDestroy(hEcho);
  19. }
复制代码
 
NetworkIPAddr()函数用来同步网络任务,该网络任务需要在执行前设置一个本地IP地址。
这个函数有三个参数分别为:
IPAddr           增加或者移除的IP地址
       IFIndex          外设 接口获取或者移除IP地址的标识
      fAdd             增加一个IP地址时设为1,移除IP地址时设为0
 
 
 
经过上面的配置,就将NDK的网络启动起来了。现在可以进行 测试了。
这里使用了DHCP进行IP自动分配。
 
在浏览器中打开192.168.1.117可以看到之前帖子里新建的网页界面。

 
中的内容是一样的。不再赘述。
至此NDK中主要的几种服务的使用就完成了。
下面是工程源文件:
  NDK.rar  (5.54 MB, 下载次数: 35)
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值