关于OMAPL138在BIOS下网口任务与其他任务切换

2019-03-26 16:56发布

我现在在做OMAPL138的网络通信,使用的是DSP/BIOS NDK ,将网口单独做成一个任务,没有静态创建其他任务。这样网络通信正常。但是,如果,我将自己的应用程序做成一个任务,优先级设置为1,网口为2,创建了两个信号量(或者叫旗语) SEM_main和SEM_send,计数器初始值分别为1和0,负责两个任务之间的切换,这样网络的回调函数即使在发送数据室也是进不去的。 像如下形式: void task1(void)//自己的应用程序 {   SEM_pend(&SEM_main,SYSFORER);  LOG_printf(.....) SEM_post(&SEM_send); } void send(void)//damen的回调函数函数 {   。。。。//接受一个数据包 if(接收数据的个数不为0) { SEM_pend(&SEM_send,SYSFORER);  .。。。//发送一个数据包 SEM_post(&SEM_main); } } 请高手指点迷津,不胜感激! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
helloDSP_
1楼-- · 2019-03-26 23:57
< 你有没有尝试过把semphone 改成binary mode?
三九天使
2楼-- · 2019-03-27 02:26
< 大哥,我是刚接触 使用NDK做网口, 你说的binary mode 二进制模式在BIOS的那里进行设置的,负责任务切换不是要靠信号量和MBX吗?和binary mode又有什么关系啊?
helloDSP_
3楼-- · 2019-03-27 07:26
信号量有种模式叫binary mode, 你可以参考BIOS API
三九天使
4楼-- · 2019-03-27 10:39
 精彩回答 2  元偷偷看……

一周热门 更多>