OpenEdv-开源电子网

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

stm32 ucosii 任务切换

[复制链接]

4

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2013-6-25
在线时间
0 小时
发表于 2013-7-5 11:21:39 | 显示全部楼层 |阅读模式
rt:
      定义了两个任务void led1_task(void *pdata) 和 void led2_task(void *pdata),led1_task的优先级要比led2_task的优先级高,开始运行会首先执行led1_task,led_task执行完了,要怎么才能执行led2_task呢?
    led2_task执行完了,怎么又跳到led1_task?KEY5和KEY6是两个外部中断的标志位。
    我用的OSTimeDly,实现不了。
void led1_task(void *pdata)
{
#if OS_CRITICAL_METHOD == 3
OS_CPU_SR cpu_sr;
#endif
cpu_sr = cpu_sr;
pdata  = pdata;

while(1)
{
if(KEY5 == 1)
{
LED1_ON;
LCD_Color(0xFFFF);

Draw_Circle(50, 50, 10);

Chinesestr(6, 120, "现在在画园", BLUE, 0xFFFF);

OSTimeDlyHMSM(0, 0, 1, 0);

LED1_OFF;

KEY5 = 0;

OSTimeDly(1000);
}
}
}

void led2_task(void *pdata)
{
#if OS_CRITICAL_METHOD == 3
OS_CPU_SR cpu_sr;
#endif
cpu_sr = cpu_sr;
pdata  = pdata;
while(1)
{
if(KEY6 == 1)
{
LED2_ON;
LCD_Color(0xFFFF);
//LCD_Draw_window(u16 xsta,u16 ysta,u16 xend,u16 yend,u16 color)
LCD_Draw_window(2, 2, 100, 100, RED);

Chinesestr(6, 50, "现在在画矩形", RED, 0xFFFF);

OSTimeDlyHMSM(0, 0, 1, 0);
LED2_OFF;

KEY6 = 0;
OSTimeDly(1000);
}
}
}

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-5 13:14:03 | 显示全部楼层
回复【楼主位】ranguangxu1012:
---------------------------------
有没有执行到==1里面去啊....
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12124
金钱
12124
注册时间
2013-3-8
在线时间
1288 小时
发表于 2013-7-5 21:36:24 | 显示全部楼层
回复【楼主位】ranguangxu1012:
---------------------------------
要么KEY5==1,要么KEY6==1,否则永远不会任务切换!CPU使用率为100%
回复 支持 反对

使用道具 举报

4

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2013-6-25
在线时间
0 小时
 楼主| 发表于 2013-7-7 11:05:07 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
 能到KEY5 == 1里面去,但是跳不出来
回复 支持 反对

使用道具 举报

4

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2013-6-25
在线时间
0 小时
 楼主| 发表于 2013-7-7 11:06:18 | 显示全部楼层
回复【4楼】ranguangxu1012:
---------------------------------
   相当于智能同时执行一个? 当KEY5 == 1的时候,那么不管KEY6 等于多少都不会执行KEY6 == 1那个任务?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-18 02:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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