OpenEdv-开源电子网

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

我創建了一個信號量,怎麼led1_task還在運行啊,好奇怪

[复制链接]

18

主题

100

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1196
金钱
1196
注册时间
2012-3-26
在线时间
387 小时
发表于 2014-3-13 14:48:08 | 显示全部楼层 |阅读模式
#include "includes.h"


OS_STK START_TASK_STK[START_STK_SIZE];
OS_STK LED1_TASK_STK[LED1_STK_SIZE];
OS_STK LED2_TASK_STK[LED2_STK_SIZE];
OS_STK USART_TASK_STK[USART_STK_SIZE];

void start_task(void *parg);
void led1_task(void *parg);
void led2_task(void *parg); 
void usart_task(void *parg);

OS_EVENT * Sem_Usart;
OS_SEM_DATA result[];
u8 err; 

int main(void)
{
BSP_Init();
OSInit();   
  OSTaskCreate(start_task,
(void *)0,
(OS_STK *)&START_TASK_STK[START_STK_SIZE-1],
START_TASK_PRIO );
OSStart();
 }

 
 

void start_task(void *parg)
{
OS_CPU_SR cpu_sr=0;
parg = parg; 
OSStatInit(); //??????????????.?????á???±1????×ó??
  OS_ENTER_CRITICAL(); //??????????(??·¨±??????ò??)   
Sem_Usart=OSSemCreate(0);
  OSTaskCreate(led1_task,
(void *)0,
(OS_STK*)&LED1_TASK_STK[LED1_STK_SIZE-1],
LED1_TASK_PRIO);   
  OSTaskCreate(led2_task,
(void *)0,
(OS_STK*)&LED2_TASK_STK[LED2_STK_SIZE-1],
LED2_TASK_PRIO);
OSTaskCreate(usart_task,
(void *)0,
(OS_STK*)&USART_TASK_STK[USART_STK_SIZE],
USART_TASK_PRIO);
OSTaskSuspend(START_TASK_PRIO); //????????????.
OS_EXIT_CRITICAL(); //??????????(????±??????ò??)
}


void led1_task(void *parg)
{
// parg = parg; /* ·???±à???÷???? */
while(1)
{
OSSemPend(Sem_Usart,0,&err);
LED0=!LED0;
OSTimeDlyHMSM(0,0,0,500);
};
}

void led2_task(void *parg)
{  
// parg = parg; /* ·???±à???÷???? */
while(1)
{
LED1=!LED1;
OSTimeDlyHMSM(0,0,0,1000);
};
}

void usart_task(void *parg)
{
u8  key=0,i=0; 
while(1)
{
key=KEY_Scan();
 if(key==1) 
 {
// for(i=0;i<10;i++)
// OSSemPost(Sem_Usart); //????·?????????10??
}
 else if(key==2)
 {
// OSSemPost(Sem_Usart); //·?????????????
 }
 else if(key==3)
 {
OSSemDel(Sem_Usart,OS_DEL_ALWAYS,&err);//??????????Sem_Event???ó?????????????§???ù????????????????????
 }
 OSTimeDlyHMSM(0,0,0,20);  
}

}

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

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2014-3-13 15:10:27 | 显示全部楼层
问题是什么...后面的注释乱码了...
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

18

主题

100

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1196
金钱
1196
注册时间
2012-3-26
在线时间
387 小时
 楼主| 发表于 2014-3-13 15:13:58 | 显示全部楼层
回复【2楼】745021926:

问题是什么...后面的注释乱码了...

---------------------------------
問題是led_task還是在運行,LED0還是在閃爍
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2014-3-13 16:40:46 | 显示全部楼层
回复【3楼】swanegong:
---------------------------------
可否仿真看下,你下载代码,默认就开始DS0闪烁了么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

18

主题

100

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1196
金钱
1196
注册时间
2012-3-26
在线时间
387 小时
 楼主| 发表于 2014-3-13 17:09:53 | 显示全部楼层


回复【4楼】正点原子:

回复【3楼】swanegong:
---------------------------------
可否仿真看下,你下载代码,默认就开始DS0闪烁了么?

---------------------------------
是啊,默认闪烁,按道理应该不闪烁,,我百度了,百度说是创建信号量没有成功,,ucosii下怎么仿真,一个任务一个任务的,不太会诶

信号量应该创建成功了吧
回复 支持 反对

使用道具 举报

18

主题

100

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1196
金钱
1196
注册时间
2012-3-26
在线时间
387 小时
 楼主| 发表于 2014-3-13 17:25:57 | 显示全部楼层

直接跳过了,执行LED闪烁了
回复 支持 反对

使用道具 举报

20

主题

158

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
334
金钱
334
注册时间
2012-8-21
在线时间
27 小时
发表于 2014-3-13 18:10:42 | 显示全部楼层
这个我不是很懂,但是在FREERTOS中对于消息的处理是这样的,有消息立马,接收,在一定的阻塞的时间没接收到消息,也会结束,而执行下面的代码
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2014-3-13 18:17:32 | 显示全部楼层
看你的: Sem_Usart是不是0?
如果是0,就说明创建失败了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

18

主题

100

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1196
金钱
1196
注册时间
2012-3-26
在线时间
387 小时
 楼主| 发表于 2014-3-13 20:00:35 | 显示全部楼层
仿真OK,下载到板子里不行,郁闷
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2014-3-13 23:46:37 | 显示全部楼层
回复【9楼】swanegong:
---------------------------------
在线仿真。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-13 23:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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