您现在所在的是:

职场人生

回帖:38个,阅读:6746 [上一页] [1] [2] [3] [4] [下一页]
* 帖子主题:

我的16年研发生涯2

2709
易控微网
文章数:414
年度积分:252
历史总积分:2709
注册时间:2002/10/8
发站内信
发表于:2012/1/5 13:26:10
#30楼

我记得上大学的时候,学数字电路。我被某些同学说是只会读书,不会动手。
后来该同学用了一堆数字电路搭一个系统,基本上相当于一个小的处理器了,我当初从电子市场买了差不多1公斤的导线,让他基本给用光了。可见系统复杂。但是里面出现了问题,他的时钟控制电路总有问题,比如本来1小时该60分钟的,可是他的电路40分钟就一个小时了。他折腾了很久,大概有2~3周吧,很郁闷。后来实在没有办法才来找我,让我帮他看看。其实问题很简单,就是一个时钟冒险的数字电路问题。改他的设计肯定不现实了,怎么办呢,我装模作样的看了看他的原理图,那时连个示波器都没有。我告诉他在这加个100PF的电容,那加个100pf的电容。。。。,折腾他好多天的问题居然让我给解决了。从此,他再不说我只会读书,不会动手了
www.tengcon.com    专业的PLC,RTU研发,生产,供货商
2709
易控微网
文章数:414
年度积分:252
历史总积分:2709
注册时间:2002/10/8
发站内信
发表于:2012/1/6 7:55:34
#31楼
/********************************************************************
* Filename: 来自研发一线的声音:嵌入式C编程经验 之 只有一条清狗语句
* Author:SedateFire    E-mail:SedateFire@126.com  
* Version:1.000        Time: 2012-01-05    
* key: 看门狗   系统架构  os-less  嵌入式
********************************************************************/

一个好的os-less系统,只有一条清狗语句,它位置就固定在main函数中的
while(1)  /* or for(;;;) */
{
      __watchdog_reset();
}

如果你有两条以上看门狗语句,那么会有什么后果呢? 系统当机,由于静电或者程序自身逻辑的原因,进入了某个思维的盲点,系统进入一个有清狗语句的死循环里面,退不出来。这是最危险的,尴尬的,蒙羞的事情。

那么多出来的清狗语句,一般会用在哪里呢?

1.  系统初始化,有些设备初始化需要读取它的反馈状态,用while,担心复位,于是清狗。我一般用While (dev_read_status() && (i--)),这个i,32位顶天了。一般mcu没这么快法。

2. mcu睡眠前清狗。有些人喜欢在系统进入睡眠前清狗一下,担心系统刚好在那一刻复位。这只能说明你对自己的程序不了解,主回圈程序一圈下来,最大执行时间其实心中有数。函数多少深度宽度心中要有低。如果刚好睡眠前一刻复位,那也有可能在跑别的函数过程中复位。

3.   某些应用逻辑貌似要需要hold住,比如屏幕的暂停显示2秒钟等。许多人生生地把这种逻辑做成“硬延时”,就是死等。这是一个令人戚眉的做法,因为这意味麻烦的开始。在你需要暂停显示n秒的过程中,我的一切用户体验你无法响应我了,按键没反应,蜂鸣器不响,led灯不闪烁,一切好像死机了一样。等到系统显示完成后,用户心中大舒一口气,心中悬石落地,你终于又回气儿活过来了。这是糟糕的体验。

        好吧,为了改善体验,许多人就想办法来。把用户体验搬到中断里面做,这是另外一个麻烦的开始,全局变量的增多和跨模块的判断,其根源之一始于此,弄个不好,就是随机性崩溃。中断程序变胖,终究是不方便的,于是为了改进,就只好在中断程序中置标志位,然后在hold_delay(TIME)函数的循环中清狗,并且判断标志位作响应动作。许多应用逻辑需要hold住的地方何其多,上九天下地府处处添加,函数深度不可测,逻辑递归难判断,系统大乱的祸患就此埋下。

       那如何解决呢,事件--状态机,一句话概括,在当前状态下,遇到某某事件,则执行什么动作后,进入下一个状态。它似表非表,如水般自然,像空气般无痕……好了,其实是我不愿多讲,若要具体讲下去,恐怕涉及公司知识产权。尽管这个事件状态机思想是个公开的秘密,原理大家都懂,但做得好的还不多见。Hold住本身就是一种状态,看你如何抽象它了。

        佛曰:菩萨畏因,凡夫畏果。那灾难之源,是需要敬畏戒惧的,待到结果发生,悔之莫及。
www.tengcon.com    专业的PLC,RTU研发,生产,供货商
2709
易控微网
文章数:414
年度积分:252
历史总积分:2709
注册时间:2002/10/8
发站内信
发表于:2012/1/6 8:04:12
#32楼
最近搞了本安和隔爆产品认证颇有心得
所谓本质安全指在极限条件下(电路损坏,短路等),电路产生的能量不能点燃危险环境。然后GB给了个表,查就是了。需要本质安全计算书的文档
隔爆就是内部爆炸的高温气体不能传导到外面,不能炸开。
其实质就是防爆接触面的间隙的宽度和长度要合乎规定和壳体的强度
www.tengcon.com    专业的PLC,RTU研发,生产,供货商
1924
hansenblue
文章数:411
年度积分:53
历史总积分:1924
注册时间:2011/4/8
发站内信
发表于:2012/1/13 12:11:44
#33楼
牛的一逼 软硬兼会!
好的,就这样加油吧
1199
squall001
文章数:83
年度积分:50
历史总积分:1199
注册时间:2009/3/3
发站内信
发表于:2012/2/13 5:04:45
#34楼
以下是引用易控微网在2012/1/6 7:55:34的发言:
/********************************************************************
* Filename: 来自研发一线的声音:嵌入式C编程经验 之 只有一条清狗语句
* Author:SedateFire    E-mail:SedateFire@126.com   
* Version:1.000        Time: 2012-01-05    
* key: 看门狗   系统架构  os-less  嵌入式
********************************************************************/
 
一个好的os-less系统,只有一条清狗语句,它位置就固定在main函数中的
while(1)  /* or for(;;;) */
{
       __watchdog_reset();
}
 
如果你有两条以上看门狗语句,那么会有什么后果呢? 系统当机,由于静电或者程序自身逻辑的原因,进入了某个思维的盲点,系统进入一个有清狗语句的死循环里面,退不出来。这是最危险的,尴尬的,蒙羞的事情。
 
那么多出来的清狗语句,一般会用在哪里呢?
 
1.  系统初始化,有些设备初始化需要读取它的反馈状态,用while,担心复位,于是清狗。我一般用While (dev_read_status() && (i--)),这个i,32位顶天了。一般mcu没这么快法。
 
2. mcu睡眠前清狗。有些人喜欢在系统进入睡眠前清狗一下,担心系统刚好在那一刻复位。这只能说明你对自己的程序不了解,主回圈程序一圈下来,最大执行时间其实心中有数。函数多少深度宽度心中要有低。如果刚好睡眠前一刻复位,那也有可能在跑别的函数过程中复位。
 
3.   某些应用逻辑貌似要需要hold住,比如屏幕的暂停显示2秒钟等。许多人生生地把这种逻辑做成“硬延时”,就是死等。这是一个令人戚眉的做法,因为这意味麻烦的开始。在你需要暂停显示n秒的过程中,我的一切用户体验你无法响应我了,按键没反应,蜂鸣器不响,led灯不闪烁,一切好像死机了一样。等到系统显示完成后,用户心中大舒一口气,心中悬石落地,你终于又回气儿活过来了。这是糟糕的体验。
 
         好吧,为了改善体验,许多人就想办法来。把用户体验搬到中断里面做,这是另外一个麻烦的开始,全局变量的增多和跨模块的判断,其根源之一始于此,弄个不好,就是随机性崩溃。中断程序变胖,终究是不方便的,于是为了改进,就只好在中断程序中置标志位,然后在hold_delay(TIME)函数的循环中清狗,并且判断标志位作响应动作。许多应用逻辑需要hold住的地方何其多,上九天下地府处处添加,函数深度不可测,逻辑递归难判断,系统大乱的祸患就此埋下。
 
        那如何解决呢,事件--状态机,一句话概括,在当前状态下,遇到某某事件,则执行什么动作后,进入下一个状态。它似表非表,如水般自然,像空气般无痕……好了,其实是我不愿多讲,若要具体讲下去,恐怕涉及公司知识产权。尽管这个事件状态机思想是个公开的秘密,原理大家都懂,但做得好的还不多见。Hold住本身就是一种状态,看你如何抽象它了。
 
         佛曰:菩萨畏因,凡夫畏果。那灾难之源,是需要敬畏戒惧的,待到结果发生,悔之莫及。

用消息映射机制来处理,可能程序就不会乱了。
644
1419516752
文章数:32
年度积分:50
历史总积分:644
注册时间:2017/6/28
发站内信
发表于:2017/7/7 17:32:36
#35楼
楼主真的是太厉害了,软硬都会。
651
730071133
文章数:35
年度积分:50
历史总积分:651
注册时间:2017/4/19
发站内信
发表于:2017/7/7 21:05:34
#36楼
现在知道这行水的深浅了,我们刚入门的十年能不能站下脚呀。真不好学
此帖发自手机工控论坛
999
北乔南麦
文章数:206
年度积分:50
历史总积分:999
注册时间:2017/9/7
发站内信
发表于:2017/9/13 15:13:59
#37楼
搞研发需要发自内心的热情和爱好,同时持之以恒。
3204
05527833
文章数:364
年度积分:50
历史总积分:3204
注册时间:2006/10/17
发站内信
发表于:2017/11/28 15:49:23
#38楼
一般人干不了,绕人的很
此帖发自手机工控论坛
张夫子:同样是人民当家做主,韩(台)国(湾)给你的是选票,朝()鲜()给你的是口号

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

109.2007