STM32
直播中

李秀兰

7年用户 1449经验值
私信 关注
[问答]

ucos-ii任务调度没有问题,就是加了消息邮箱总是出错的原因?

ucos-ii,任务调度没有问题,就是加了消息邮箱,总是出错!定义消息邮箱指针和创建一个消息邮箱应该都没有问题,问题就是不通过,如下图:
希望大家能指点...
template.zip (4.52 MB )

回帖(4)

全娟

2020-8-24 07:19:44
报错显示,你的是数据类型不匹配.
举报

陈丹丽

2020-8-24 07:31:15
 OS_EVENT *Str_Box;
Str_Box = OSMboxCreate ((void*)0);
OSMboxCreate()在mbox里定义:
OS_EVENT  *OSMboxCreate (void *pmsg)
{
    OS_EVENT  *pevent;
#if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
    OS_CPU_SR  cpu_sr = 0;
#endif
 
    if (OSIntNesting > 0) {                      /* See if called from ISR ...                         */
        return ((OS_EVENT *)0);                  /* ... can't CREATE from an ISR                       */
    }
    OS_ENTER_CRITICAL();
    pevent = OSEventFreeList;                    /* Get next free event control block                  */
    if (OSEventFreeList != (OS_EVENT *)0) {      /* See if pool of free ECB pool was empty             */
        OSEventFreeList = (OS_EVENT *)OSEventFreeList->OSEventPtr;
    }
    OS_EXIT_CRITICAL();
    if (pevent != (OS_EVENT *)0) {
        pevent->OSEventType    = OS_EVENT_TYPE_MBOX;
        pevent->OSEventCnt     = 0;
        pevent->OSEventPtr     = pmsg;           /* Deposit message in event control block             */
#if OS_EVENT_NAME_SIZE > 1
        pevent->OSEventName[0] = '?';
        pevent->OSEventName[1] = OS_ASCII_NUL;
#endif
        OS_EventWaitListInit(pevent);
    }
    return (pevent);                             /* Return pointer to event control block              */
}
没发现有什么定义不对的地方?
举报

张一珠

2020-8-24 07:36:19
问题解决了,没有使能MBOX,#define OS_MBOX_EN                1   。
举报

李方树

2020-8-24 07:54:08
 
举报

更多回帖

发帖
×
20
完善资料,
赚取积分