OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2409|回复: 4

ossempend在调用时,等待时间内,系统会去进行任务调度吗?

[复制链接]

12

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2016-9-2
在线时间
42 小时
发表于 2017-8-17 20:35:56 | 显示全部楼层 |阅读模式
如题,在调用ossempend时,等待时间内,系统会去进行别的任务调度吗?还有我的一任务中,连续调用ossempend这样可以吗(二进制信号量)?比如说如下:

while(1)
{
。。。。。。。(省略)
can_msg_send(coder);//对传感器数据进行采集

ossempend{
&can_ok,
200,
err;(具体格式忘啦,大家明白意思就行,一个是信号量名称,一个是时间,一个是错误)
}

for(i=0;i<8;i++)
{
    printf("接收到的编码器数据为:%d\r\n",buffer[i]);//打印接收到的传感器数据
}

memset(buffer,0,sizeof(buffer));


can_msg_send(leak);//对传感器数据进行采集

ossempend{
&can_ok,
200,
err;(具体格式忘啦,大家明白意思就行,一个是信号量名称,一个是时间,一个是错误)
}



for(i=0;i<8;i++)
{
    printf("接收到的编码器数据为:%d\r\n",buffer[i]);//打印接收到的传感器数据
}

memset(buffer,0,sizeof(buffer));

。。。。。。。。。。
}



然后我的思路是,上位机发送查询指令,然后传感器(用51+mcp2515+tja1050+传感器   做的)回传数据,回传一个正确数据后,释放信号量ossempost,然后接着查询下一个传感器的数据(当然通讯的协议使我们自己做的,有校验和帧头)

请问这样做可以吗?能在一个任务中请求多次信号量吗(信号量用的是二进制信号量)


请大声指点迷津啊,数据一直不是很正常
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2016-9-2
在线时间
42 小时
 楼主| 发表于 2017-8-17 20:36:16 | 显示全部楼层
的顶顶顶顶顶的顶顶顶顶顶的顶顶顶顶顶顶顶顶顶顶
回复 支持 反对

使用道具 举报

12

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2016-9-2
在线时间
42 小时
 楼主| 发表于 2017-8-17 20:36:38 | 显示全部楼层
来人来人来人来人来人来人来人来人来人来人来人来人来人来人来人来人
回复 支持 反对

使用道具 举报

12

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2016-9-2
在线时间
42 小时
 楼主| 发表于 2017-8-17 20:36:51 | 显示全部楼层
回复 支持 反对

使用道具 举报

12

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2016-9-2
在线时间
42 小时
 楼主| 发表于 2017-8-18 21:14:47 | 显示全部楼层
@正点原子
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 22:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表