论坛风格切换切换到宽版
  • 9463阅读
  • 27回复

写一个单片机程序很容易;写一个完善的单片机程序很难。 [复制链接]

上一主题 下一主题
离线BG4UVR
 
发帖
11287
只看楼主 倒序阅读 0楼 发表于: 2011-04-04
这两天在修改一个单片机程序而产生的感慨。

这是个09年下半年写的程序,全部目标代码量只有约2kb,修正完善过5、6次了,现在是否完善了还有待时间检验。
离线bd7qw
发帖
2370
只看该作者 1楼 发表于: 2011-04-04
用c?汇编?
很复杂的计算??
离线BG4UVR
发帖
11287
只看该作者 2楼 发表于: 2011-04-04
用的c,计算并不复杂。

复杂的原因在于,必须尽可能地把所有的可能性(哪怕是出现的概率远小于万分之一)全部考虑到,并且做出处理。而且还要保证程序在编写的过错中,不能出现人为的失误造成的错误。也不能因为逻辑复杂,而产生任何混乱。

能运行的程序,并不一定是完善的程序。
真正完善的程序,是没有任何问题的程序。
离线BG4UVR
发帖
11287
只看该作者 3楼 发表于: 2011-04-04
如果悲观和夸张地说起来,你的每句代码,都可能是产生问题的根本原因。

所以必须极其细致严谨地考虑你的每句代码所造成的影响。
离线BH7KQK
发帖
3425
只看该作者 4楼 发表于: 2011-04-05
'
如果悲观和夸张地说起来,你的每句代码,都可能是产生问题的根本原因。
所以必须极其细致严谨地考虑你的每句代码所造成的影响。
'


绝对同意楼主意见,,这几天写cw练习器的代码上就够乱的了.....唉,真的不容易..
写好后,测试就从开机,然后从所有可能的组合事件中找出有可能出现的问题...
改到最后.......自已都不分不清东南西北了..
可能是我年纪大了,,像别人说的,过了写程序的年龄了...
离线BG1HOE
发帖
248
只看该作者 5楼 发表于: 2011-04-05
'
用的c,计算并不复杂。
复杂的原因在于,必须尽可能地把所有的可能性(哪怕是出现的概率远小于万分之一)全部考虑到,并且做出处理。而且还要保证程序在编写的过错中,不能出现人为的失误造成的错误。也不能因为逻辑复杂,而产生任何混乱。
能运行的程序,并不一定是完善的程序。
真正完善的程序,是没有任何问题的程序。
'
确实如此,微软也要不断出sp!
离线xiaomu
发帖
178
只看该作者 6楼 发表于: 2011-04-05
'
如果悲观和夸张地说起来,你的每句代码,都可能是产生问题的根本原因。
所以必须极其细致严谨地考虑你的每句代码所造成的影响。
'
建议lz弄个程序流程图,这个东西
不用复杂!你就一步步 傻瓜式的写,写不下去的地方就是存在问题的地方
if 流程一步步清楚,逻辑正确,想来这样就不会头大啦。
离线BD4XR
发帖
8746
只看该作者 7楼 发表于: 2011-04-05
这个要有现场经验。。。
离线ba6iv
发帖
1293
只看该作者 8楼 发表于: 2011-04-05
因为经常考虑各种可能性,所以程序员容易患强迫症。
离线BD2RWR
发帖
1972
只看该作者 9楼 发表于: 2011-04-05
一个单片机通过可控硅控制三相电动机正、反转、停的程序应该很简单吧,我相信程序在逻辑上不会有任何问题,有时候半个月运行都好用,不一定什么时候就放炮(爆炸烧管子),我发现搞好用的人很少。单片机工作是否稳定软件是一个方面,硬件的抗干扰经验非常重要,很多时候象高频电路一样,经验决定成功否。很多没有现场经验的看了很简单,说话口气也很大,真正作出有使用价值的单片机控制电路的能力基本等于o。
离线XLDZZ
发帖
443
只看该作者 10楼 发表于: 2011-04-06
程序员就是被累死的
离线bg4wby
发帖
460
只看该作者 11楼 发表于: 2011-04-07
同感,写一个完美的程序很难
离线bd7rf
发帖
10148
只看该作者 12楼 发表于: 2011-04-07
写一个能用的程序都已经很难了
离线xidongs
发帖
149
只看该作者 13楼 发表于: 2011-04-07
拿来我帮你写,保证好用。呵呵。多交流。认真考虑程序细节。
特别是在16位和32位数据处理上。详细考虑中断。
离线BD2RWR
发帖
1972
只看该作者 14楼 发表于: 2011-04-10
'
写一个能用的程序都已经很难了 [表情]
'
不认同这个观点,我是1987年开始做单片机程序(开发的项目多次获省部级别奖励)没感觉程序难。如果对硬件比较熟悉(是经验),单片机还是比较经济实用的。前几年某大学一个博士做一个课题通不过,我看了一下,程序没有问题,电路板接地点做的不合理;还有一个研究生做一个课题,教材是错的,由于没有经验8个月没有通过,导师饭桶啊!
离线ba6iv
发帖
1293
只看该作者 15楼 发表于: 2011-04-11
'
不认同这个观点,我是1987年开始做单片机程序(开发的项目多次获省部级别奖励)没感觉程序难。如果对硬件比较熟悉(是经验),单片机还是比较经济实用的。前几年某大学一个博士做一个课题通不过,我看了一下,程序没有问题,电路板接地点做的不合理;还有一个研究生做一个课题,教材是错的,由于没有经验8个月没有通过,导师饭桶啊!
'
嗯!难者不会,会者不难!
离线BD6KF
发帖
1126
只看该作者 16楼 发表于: 2011-04-12
'
一个单片机通过可控硅控制三相电动机正、反转、停的程序应该很简单吧,我相信程序在逻辑上不会有任何问题,有时候半个月运行都好用,不一定什么时候就放炮(爆炸烧管子),我发现搞好用的人很少。单片机工作是否稳定软件是一个方面,硬件的抗干扰经验非常重要,很多时候象高频电路一样,经验决定成功否。很多没有现场经验的看了很简单,说话口气也很大,真正作出有使用价值的单片机控制电路的能力基本等于o。
'
现在的工业控制设备,还有不少用555,解决可靠性,是个综合性的难题
离线BA5RW
发帖
48263
只看该作者 17楼 发表于: 2011-04-17
归根结底还是不认真的原因,甚至就是不认真阅读单片机本身技术文档的原因,我相信所有的应用者都遇到过一些低级错误。
例如设计一个训练装备,流程简单,户外使用,第一接过来做只考虑防雨防晒问题,可是恰恰碰到连续大雨天气,战壕被水淹没,机器进水了,晴天重新开机不行了,检修发现元器件管脚都被雨水腐蚀断了。算是有教训了吧?后来又接一次,加上防水机壳,半年没问题,偏偏又遇上大水浸泡,又出事了,可是这回水从馈线进来……
检讨后感觉不怪天啊,怪自己没文化没知识……不如老毛会算啊!
离线bd5it
发帖
2355
只看该作者 18楼 发表于: 2011-04-17
'
归根结底还是不认真的原因,甚至就是不认真阅读单片机本身技术文档的原因,我相信所有的应用者都遇到过一些低级错误。
例如设计一个训练装备,流程简单,户外使用,第一接过来做只考虑防雨防晒问题,可是恰恰碰到连续大雨天气,战壕被水淹没,机器进水了,晴天重新开机不行了,检修发现元器件管脚都被雨水腐蚀断了。算是有教训了吧?后来又接一次,加上防水机壳,半年没问题,偏偏又遇上大水浸泡,又出事了,可是这回水从馈线进来……[表情]
检讨后感觉不怪天啊,怪自己没文化没知识……不如老毛会算啊!
'

说到底都是业余的逼死了专业的,放在专业军工厂设计生产,绝对不会有这么多问题。
离线BD2RWR
发帖
1972
只看该作者 19楼 发表于: 2011-04-18
'
说到底都是业余的逼死了专业的,放在专业军工厂设计生产,绝对不会有这么多问题。
'

搞产品各项都是有指标要求的。