硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2951|回复: 6
收起左侧

[μCOS-III] 请教下使用 OSTaskQPost 这个函数第一次可以正常运行,自动播放下一曲提示消息满?

[复制链接]

610

主题

3062

回帖

4912

积分

至尊会员

积分
4912
发表于 2019-1-21 21:35:35 | 显示全部楼层 |阅读模式
       
请教下使用 OSTaskQPost 这个函数第一次可以正常运行,自动播放下一曲提示消息满?

发送消息,第一次能够正常发送 ,err 返回 成功,但是当第一次播放的音乐自动结束后,自动播放下一曲时,发送这个消息后,err 返回 26603,错误代码是消息满 ???
如果使用手动的按下下一曲或者上一曲,播放又都正常,请问这是为什么呀 ??
参考历程:STM32-V6\09.STemWin提高篇实战例程,含uCOS-III和FreeRTOS两个版本(23个)\V6-916_STemWin提高篇实验_WAV,MP3软解播放器,带类似千千静听频谱(uCOS-III)\Project\MDK-ARM(uV4)

        OSTaskQPost(&AppTaskMusicTCB,
                                (void *)&s_tMusicMsg,   /* 数据地址 */
                                sizeof(s_tMusicMsg),    /* 数据字节数,也可以不是字节数,保证发送和接收统一即可 */
                                OS_OPT_POST_FIFO,
                                &err);
        USART_OS_Printf("OSTaskQPost _cbMusicButton = %d\r\n", err);   //这个地方

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2019-1-22 00:09:14 | 显示全部楼层
你创建TaskMusic任务时,函数有一个参数是设置队列大小用的,你设置的多大。
回复

使用道具 举报

610

主题

3062

回帖

4912

积分

至尊会员

积分
4912
 楼主| 发表于 2019-1-22 12:54:41 | 显示全部楼层
本帖最后由 hpdell 于 2019-1-22 23:41 编辑
eric2013 发表于 2019-1-22 00:09
你创建TaskMusic任务时,函数有一个参数是设置队列大小用的,你设置的多大。




        /**************创建Mucis任务*********************/                        
        OSTaskCreate((OS_TCB       *)&AppTaskMusicTCB,              
                 (CPU_CHAR     *)"vTaskMusic",
                 (OS_TASK_PTR   )vTaskMusic,
                 (void         *)0,
                 (OS_PRIO       )APP_CFG_TASK_MUSIC_PRIO,
                 (CPU_STK      *)&AppTaskMusicStk[0],
                 (CPU_STK_SIZE  )APP_CFG_TASK_MUSIC_STK_SIZE / 10,
                 (CPU_STK_SIZE  )APP_CFG_TASK_MUSIC_STK_SIZE,
                 (OS_MSG_QTY    )10,                                                // 是不是这个地方啊,我目前设置的为 10 ,  在整个程序中,发送任务信号函数有9处调用
                                            //这个值是根据什么来确定的啊 ??????????????

                 (OS_TICK       )0,
                 (void         *)0,
                 (OS_OPT        )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR | OS_OPT_TASK_SAVE_FP),
                 (OS_ERR       *)&err);        


// *********************************************************************************************************
//在整个程序中,发送任务信号函数有9处调用

                        OSTaskQPost(&AppTaskMusicTCB,
                                                (void *)&s_tMusicMsg,   /* 数据地址 */
                                                sizeof(s_tMusicMsg),    /* 数据字节数,也可以不是字节数,保证发送和接收统一即可 */
                                                OS_OPT_POST_FIFO,
                                                &err);





回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2019-1-23 01:42:51 | 显示全部楼层
hpdell 发表于 2019-1-22 12:54
/**************创建Mucis任务*********************/                        
        ...

函数也没问题,

总的消息池大小:#define  OS_CFG_MSG_POOL_SIZE                         32u       /* Maximum number of messages                           */

别的问题你再查查。
回复

使用道具 举报

610

主题

3062

回帖

4912

积分

至尊会员

积分
4912
 楼主| 发表于 2019-1-23 09:35:00 | 显示全部楼层
eric2013 发表于 2019-1-23 01:42
函数也没问题,

总的消息池大小:#define  OS_CFG_MSG_POOL_SIZE                         32u        ...

已经摆平了,确实是这个问题造成的啊
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2019-1-23 15:55:56 | 显示全部楼层
hpdell 发表于 2019-1-23 09:35
已经摆平了,确实是这个问题造成的啊

回复

使用道具 举报

610

主题

3062

回帖

4912

积分

至尊会员

积分
4912
 楼主| 发表于 2019-1-23 16:06:06 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-15 22:28 , Processed in 0.217664 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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