OpenEdv-开源电子网

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

有关ucos邮箱的问题

[复制链接]

5

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2015-12-5
在线时间
43 小时
发表于 2016-1-7 21:18:47 | 显示全部楼层 |阅读模式
5金钱
我分别两个任务放在两个.c文件中,一个任务为按键任务,一个为电机任务,接收到按键后,就post邮箱给电机任务,我在电机任务里面创建和接收邮箱,但是貌似在两个.C文件之间无法进行邮箱通信,我把两个任务合到一个.c文件中就可以正常通信了,这是为什么?

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2016-1-7 22:26:10 | 显示全部楼层
肯定是可以的.检查代码
回复

使用道具 举报

5

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2015-12-5
在线时间
43 小时
 楼主| 发表于 2016-1-7 22:35:49 | 显示全部楼层
正点原子 发表于 2016-1-7 22:26
肯定是可以的.检查代码

[mw_shl_code=c,true]#define TASK_MOTOR_PRIO         9
#define TASK_MOTOR_SIZE          128
static OS_STK TASK_MOTOR_STK[TASK_MOTOR_SIZE];
void task_motor(void *pdata);


#define TASK_KEY_PRIO       8
#define TASK_KEY_SIZE       128
static OS_STK TASK_KEY_STK[TASK_KEY_SIZE];
static OS_EVENT *msg_key;
void task_key(void *pdata);



void task_key(void *pdata)
{
      u8 key;
        while(1)
        {
                key=KEY_Scan(0);
        if(key)  OSMboxPost(msg_key,(void*)key);
                delay_ms(10);
        }
}



void task_motor(void *pdata)
{
      u32 key=0;
msg_key=OSMboxCreate((void*)0);
while(1)
        {
               
                key=(u32)OSMboxPend(msg_key,10,&err);
switch(key)
                        {
                                case 1:
                                        M1in1=1;
                                        M1in2=0;
                                        M1in3=0;
                                        M1in4=1;
                               
                                        M2in1=1;
                                        M2in2=0;
                                        M2in3=0;
                                        M2in4=1;
                                        break;
                                case 2:
                                        M1in1=0;
                                        M1in2=1;
                                        M1in3=0;
                                        M1in4=1;
                               
                                        M2in1=0;
                                        M2in2=1;
                                        M2in3=0;
                                        M2in4=1;
                                    break;
                                case 3:
                                        M1in1=0;
                                        M1in2=1;
                                        M1in3=1;
                                        M1in4=0;
                               
                                        M2in1=0;
                                        M2in2=1;
                                        M2in3=1;
                                        M2in4=0;
                                        break;
                                case 4:
                                        M1in1=1;
                                        M1in2=0;
                                        M1in3=1;
                                        M1in4=0;
                               
                                    M2in1=1;
                                        M2in2=0;
                                        M2in3=1;
                                        M2in4=0;
                                    break;
                        }
               
                        delay_ms(50);
                                    M1in1=0;
                                        M1in2=0;
                                        M1in3=0;
                                        M1in4=0;
                               
                                    M2in1=0;
                                        M2in2=0;
                                        M2in3=0;
                                        M2in4=0;
delay_ms(10);
        }
}[/mw_shl_code]


重要代码就这些,原子哥帮忙看一下呗,菜鸟搞了一天没解决。。。
回复

使用道具 举报

27

主题

711

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
12208
金钱
12208
注册时间
2015-11-5
在线时间
2116 小时
发表于 2016-1-8 09:21:06 | 显示全部楼层
你分2个文件时的代码呢
拿来长岛冰茶换我半晚安睡
回复

使用道具 举报

5

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2015-12-5
在线时间
43 小时
 楼主| 发表于 2016-1-8 10:45:40 | 显示全部楼层
FreeRTOS 发表于 2016-1-8 09:21
你分2个文件时的代码呢

这个就是分两个文件时的代码,中间空很多行的就是分文件的标志。
回复

使用道具 举报

13

主题

92

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1056
金钱
1056
注册时间
2015-5-12
在线时间
208 小时
发表于 2016-1-8 11:21:50 | 显示全部楼层
这不是一个文件的吗?
回复

使用道具 举报

5

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2015-12-5
在线时间
43 小时
 楼主| 发表于 2016-1-8 12:37:50 | 显示全部楼层
numbqq 发表于 2016-1-8 11:21
这不是一个文件的吗?

我是把几个文件中的代码发到一起了。。。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 00:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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