像ThreadX,uCOS这种,没有这样的需求。使用RTX5,什么都不加是不行的,需要加上切换函数处理。
函数说明:
比如这样写,是不可以的:
[C] 纯文本查看 复制代码 /*
*********************************************************************************************************
* 函 数 名: AppTaskLED
* 功能说明: LED闪烁。
* 形 参: 无
* 返 回 值: 无
* 优 先 级: osPriorityHigh2
*********************************************************************************************************
*/
void AppTaskLED(void *argument)
{
while(1)
{
bsp_LedToggle(2);
}
}
/*
*********************************************************************************************************
* 函 数 名: AppTaskMsgPro
* 功能说明: 消息处理,暂未使用。
* 形 参: 无
* 返 回 值: 无
* 优 先 级: osPriorityHigh3
*********************************************************************************************************
*/
void AppTaskMsgPro(void *argument)
{
while(1)
{
bsp_LedToggle(1);
}
}
改成下面就可以了:
[C] 纯文本查看 复制代码 /*
*********************************************************************************************************
* 函 数 名: AppTaskLED
* 功能说明: LED闪烁。
* 形 参: 无
* 返 回 值: 无
* 优 先 级: osPriorityHigh2
*********************************************************************************************************
*/
void AppTaskLED(void *argument)
{
while(1)
{
bsp_LedToggle(2);
osThreadYield();
}
}
/*
*********************************************************************************************************
* 函 数 名: AppTaskMsgPro
* 功能说明: 消息处理,暂未使用。
* 形 参: 无
* 返 回 值: 无
* 优 先 级: osPriorityHigh3
*********************************************************************************************************
*/
void AppTaskMsgPro(void *argument)
{
while(1)
{
bsp_LedToggle(1);
osThreadYield();
}
}
|