硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1827|回复: 2
收起左侧

关于C语言和RTOS的问题.

[复制链接]

10

主题

112

回帖

142

积分

初级会员

积分
142
发表于 2019-4-9 10:32:00 | 显示全部楼层 |阅读模式
前面的人留下一个项目写类这样一个结构体,是在Linux下qtcreator开发的不太会搭建开发环境所以不能仿真

PACK(struct TimerData {
  int32_t  mode:9;            
  uint32_t start:23;
  int32_t  value:24;
  uint32_t countdownBeep:2;
  uint32_t minuteBeep:1;
  uint32_t persistent:2;
  int32_t  countdownStart:2;
  uint32_t direction:1;
  NOBACKUP(char name[LEN_TIMER_NAME]);
});
程序出了问题发现  int32_t  countdownStart:2;取值是-2 -1 0 1感觉真是坑.
另外一个问题是:用CoOS创建了3个任务其中一个是
void Taks1()
{ 
 初始化

     while(1)
     {
          if(条件)break;

     }
     os_delay(100)
     关掉电源代码

}
这样写感觉一点都不靠谱.


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2019-4-9 17:47:49 | 显示全部楼层
1、不清楚你的这个位域具体搞了什么,帮不上
2、任务写的太随意,如果是个高优先级任务,条件迟迟得不到满足,不卡死在里面了。
回复

使用道具 举报

10

主题

112

回帖

142

积分

初级会员

积分
142
 楼主| 发表于 2019-4-11 10:55:06 | 显示全部楼层
eric2013 发表于 2019-4-9 17:47
1、不清楚你的这个位域具体搞了什么,帮不上
2、任务写的太随意,如果是个高优先级任务,条件迟迟得不到满 ...

谢谢老大.第一个问题就是记录一个功能的四种模式,在显示和是使用这个功能时还得把它转换成0123,不知道它设计这个数据结构是怎么想的. 第二个问老大这样一提示我终于知道为什么在关机时有很低概率会死机的原因了,非常感谢.这是老外搞得一个开源程序,我们准备用一下.我们的老板和不懂软件的老大把搞开源程序这个老外奉着神一样,感觉这老外也很水.
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-14 00:53 , Processed in 0.036902 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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