OpenEdv-开源电子网

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

消息队列的问题。发现总是比定义的多一个?

[复制链接]

17

主题

52

帖子

1

精华

高级会员

Rank: 4

积分
555
金钱
555
注册时间
2015-6-11
在线时间
66 小时
发表于 2020-5-11 09:51:36 | 显示全部楼层 |阅读模式
10金钱
void *Q_queue[1];
Q_handle_data = OSQCreate(Q_queue, 1);

以下是串口打印,第一次成功POST了一个数据,之后都是会成功POST2个数据?有大侠知道为什么吗?
改成5,第一次post5个,之后都post成功6个了就。

OS START...

POST ok [0][0]【data:A】
T1 wait [1][1]【data:B】

线程【2】:[A]

POST ok [1][1]【data:B】
POST ok [2][2]【data:C】
T1 wait [3][3]【data

线程【2】:[B]


线程【2】:[C]

POST ok [3][3]【data
POST ok [4][4]【data:E】
T1 wait [5][5]【data:F】

线程【2】:[D]


线程【2】:[E]

POST ok [5][5]【data:F】
POST ok [6][6]【data:G】
T1 wait [7][7]【data:H】

线程【2】:[F]


线程【2】:[G]

POST ok [7][7]【data:H】
POST ok [8][0]【data:I】
T1 wait [9][1]【data:J】

线程【2】:[H]


线程【2】:[I]

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

52

帖子

1

精华

高级会员

Rank: 4

积分
555
金钱
555
注册时间
2015-6-11
在线时间
66 小时
 楼主| 发表于 2020-5-11 09:55:09 | 显示全部楼层
定义成0也可以,发现只要pend过,就好像队列多了一个“空位”

Q_handle_data = OSQCreate(Q_queue, 0);

T1 wait [0][0]【data:A】
POST ok [0][0]【data:A】
T1 wait [1][1]【data:B】

线程【2】:[A]

POST ok [1][1]【data:B】
T1 wait [2][2]【data:C】

线程【2】:[B]

POST ok [2][2]【data:C】
T1 wait [3][3]【data

线程【2】:[C]

POST ok [3][3]【data
T1 wait [4][4]【data:E】

线程【2】:[D]

POST ok [4][4]【data:E】
T1 wait [5][5]【data:F】

线程【2】:[E]

回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2020-5-11 11:39:45 | 显示全部楼层
定义成0也会比定义的多一个还是
业精于勤荒于嬉;行成于思毁于随!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-5-29 12:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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