搜索
bottom↓
回复: 31

被UCOSII整死了,求大神帮忙看下

[复制链接]

出0入0汤圆

发表于 2020-9-11 22:59:45 | 显示全部楼层 |阅读模式
被UCOSII整死了,求大神帮忙看下
接手了一个项目,同事是用UCOSII写的,本来想不用改多少代码谁知道一改代码各种不运行
void led0_task(void *pdata)
{       
        while(1)
        {                                                
                MOTORRUN();               
                OSTimeDly(100);
        }
}

void led1_task(void *pdata)
{
        while(1)
        {                  
                        if(ResetN==1)        {Reset_1();ResetN=0;printf("12\r\n");}       
                        if(Sen_DataN==1){Sen_Data_1();Sen_DataN=0;printf("123\r\n");}
                        Value=Pressure_Value();
                        eeprom_data[1]=Value;
                        if(Test_bit==1)Z_Value_RUN();
                        if(COUNT_bit==1)COUNT_COUNT();                       
                        OSTimeDly(6);       
        }
}

led0_task任务的OSTimeDly改大会导致 led1_task运行不了,这是为什么,图片为前面的定义文件。       

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入59汤圆

发表于 2020-9-12 09:31:44 | 显示全部楼层
1. 要看LED0 那个MOTORUN 干了些啥;
2. 代码排版一坨屎

出95入100汤圆

发表于 2020-9-12 13:19:09 | 显示全部楼层
LED0 里面看看。一定有什么猫腻,理论上尽量减小两个任务的耦合,但是实际上大家很难做到,或者没有注意到

出190入0汤圆

发表于 2020-9-12 13:48:29 | 显示全部楼层
应该是这种情况,顺着线索去排查吧:
led0占用某个资源,然后让出cpu资源进入delay;
led1要使用这个资源,不可用,持续等led0释放资源,led0 delay时间越长,led1卡的越久...

顺带吐槽一下这代码风格。

出0入0汤圆

 楼主| 发表于 2020-9-12 15:04:13 | 显示全部楼层
polarbear 发表于 2020-9-12 09:31
1. 要看LED0 那个MOTORUN 干了些啥;
2. 代码排版一坨屎

LED0只要是控制两个电机运行,两路PWM。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2020-9-12 19:51:34 | 显示全部楼层
这代码,看不下去了。。。再见

出0入0汤圆

发表于 2020-9-12 20:45:24 | 显示全部楼层
楼主重构代码吧,尽量分层、分类,高内聚、低耦合。朝着这个目标去。

出0入0汤圆

发表于 2020-9-12 22:46:00 | 显示全部楼层
给大家看一下一个同事写的这些代码,有多少个人能看得下去的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入89汤圆

发表于 2020-9-13 09:25:20 来自手机 | 显示全部楼层
jbpan852 发表于 2020-9-12 22:46
给大家看一下一个同事写的这些代码,有多少个人能看得下去的

牛逼,goto用的这么溜

出5入10汤圆

发表于 2020-9-13 10:10:23 | 显示全部楼层
jbpan852 发表于 2020-9-12 22:46
给大家看一下一个同事写的这些代码,有多少个人能看得下去的

我怀疑你同事是不是以前写汇编的?

出0入0汤圆

发表于 2020-9-13 10:37:24 来自手机 | 显示全部楼层
jbpan852 发表于 2020-9-12 22:46
给大家看一下一个同事写的这些代码,有多少个人能看得下去的

这是混淆后的代码吗

出0入0汤圆

发表于 2020-9-13 11:21:50 来自手机 | 显示全部楼层
jbpan852 发表于 2020-9-12 22:46
给大家看一下一个同事写的这些代码,有多少个人能看得下去的

这哥们这样写是为了保证自己的核心竞争力吗。

出0入0汤圆

发表于 2020-9-13 11:31:39 | 显示全部楼层
LinuxHacker 发表于 2020-9-13 11:21
这哥们这样写是为了保证自己的核心竞争力吗。

老板要求我维护这个同事的代码,我顿时崩溃了

出0入0汤圆

 楼主| 发表于 2020-9-13 12:30:19 | 显示全部楼层
oooios 发表于 2020-9-12 20:45
楼主重构代码吧,尽量分层、分类,高内聚、低耦合。朝着这个目标去。 ...

像你这么说需要学习下了,有没有类似的例子看下

出0入0汤圆

 楼主| 发表于 2020-9-13 12:32:04 | 显示全部楼层
BongBong 发表于 2020-9-12 19:51
这代码,看不下去了。。。再见

有没有好的资料学习下

出0入0汤圆

发表于 2020-9-13 12:45:23 | 显示全部楼层
whyyyy 发表于 2020-9-13 12:32
有没有好的资料学习下

我的建议倒是别搞这个了,搞精了又如何?花费大量时间被时代抛弃的更快。
当然你能超鸡快速提升就值得。

出0入8汤圆

发表于 2020-9-13 12:58:07 | 显示全部楼层
whyyyy 发表于 2020-9-12 15:04
LED0只要是控制两个电机运行,两路PWM。

这代码给机器看的,不是人看的

出0入0汤圆

发表于 2020-9-13 15:10:31 来自手机 | 显示全部楼层
看到你们的代码真羡慕,比我遇到的好多了

出0入8汤圆

发表于 2020-9-13 17:40:55 来自手机 | 显示全部楼层
我看过比上面都烂的
还好我没有接收他的项目
但也接收了一个很乱的项目,光是心里骂他就不止100遍

出0入0汤圆

发表于 2020-9-13 20:24:47 | 显示全部楼层
whyyyy 发表于 2020-9-13 12:30
像你这么说需要学习下了,有没有类似的例子看下

cube 生成的代码,st库都可以参考。

出0入0汤圆

 楼主| 发表于 2020-9-24 08:55:55 | 显示全部楼层
lhj200304 发表于 2020-9-12 13:19
LED0 里面看看。一定有什么猫腻,理论上尽量减小两个任务的耦合,但是实际上大家很难做到,或者没有注意到
...

如果是0任务和1任务之间相互干扰,这样怎么做到不相互干扰?
存在这样干扰的问题还不如不用这个系统,那这个系统存在的意义是什么?

出95入100汤圆

发表于 2020-9-24 09:03:11 | 显示全部楼层
whyyyy 发表于 2020-9-24 08:55
如果是0任务和1任务之间相互干扰,这样怎么做到不相互干扰?
存在这样干扰的问题还不如不用这个系统,那 ...

去看看周航慈的书,把任务的分配,规划这些重新理一遍吧,处理好数据的生产和消费问题,基本上就解决了

出0入0汤圆

 楼主| 发表于 2020-9-24 13:49:01 | 显示全部楼层
lhj200304 发表于 2020-9-24 09:03
去看看周航慈的书,把任务的分配,规划这些重新理一遍吧,处理好数据的生产和消费问题,基本上就解决了 ...

求分享!!!!!!

出0入4汤圆

发表于 2020-9-24 14:08:44 | 显示全部楼层
感觉4L说的很有道理,自己排查吧

出0入0汤圆

发表于 2020-9-24 15:32:02 | 显示全部楼层
LinuxHacker 发表于 2020-9-13 11:21
这哥们这样写是为了保证自己的核心竞争力吗。

估计就是为了保护自己的竞争力

出0入8汤圆

发表于 2020-9-26 21:38:48 | 显示全部楼层
mdcao 发表于 2020-9-24 15:32
估计就是为了保护自己的竞争力

在某种情况下来讲确实如此,你的代码写好了大家都学会了你也就那样了,都烂的话可以说反正看不懂别人的代码就行了,别人也看不懂你的,老板觉得大家都差不多,但是你能帮忙在人家的烂代码中解决问题,那你的价值就高了

出0入8汤圆

发表于 2020-9-26 21:39:34 | 显示全部楼层
mdcao 发表于 2020-9-24 15:32
估计就是为了保护自己的竞争力

在某种情况下来讲确实如此,你的代码写好了大家都学会了你也就那样了,都烂的话可以说反正看不懂别人的代码就行了,别人也看不懂你的,老板觉得大家都差不多,但是你能帮忙在人家的烂代码中解决问题,那你的价值就高了

出0入0汤圆

发表于 2020-9-27 08:17:31 | 显示全部楼层
本帖最后由 mdcao 于 2020-9-27 08:29 编辑
huxiaoping 发表于 2020-9-26 21:39
在某种情况下来讲确实如此,你的代码写好了大家都学会了你也就那样了,都烂的话可以说反正看不懂别人的代 ...


你说的正是我想说没说的,所以有时候要对自己的关键的代码做点人肉混淆。
接收别人故意混乱代码,一是直接日志调试,哪里有问题改哪里;二是自己重写。千万不要细看源码,以免被他的混乱代码误导。

出0入0汤圆

发表于 2020-9-27 16:18:18 | 显示全部楼层
jbpan852 发表于 2020-9-12 22:46
给大家看一下一个同事写的这些代码,有多少个人能看得下去的

这是汇编出身的老工程师吧

出0入0汤圆

发表于 2020-9-27 18:47:53 | 显示全部楼层
zuoyi001 发表于 2020-9-27 16:18
这是汇编出身的老工程师吧

应该是,他所有的代码都是这种风格,现在最大的问题是要我维护他的代码,都被整晕了

出0入0汤圆

发表于 2020-9-27 20:05:21 | 显示全部楼层
whyyyy 发表于 2020-9-13 12:32
有没有好的资料学习下

必修课

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2020-9-27 20:06:44 | 显示全部楼层
jbpan852 发表于 2020-9-27 18:47
应该是,他所有的代码都是这种风格,现在最大的问题是要我维护他的代码,都被整晕了 ...

办法总比困难多,我刚毕业接手的代码函数长度按米算的。。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 04:57

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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