1、程序的确定性比硬件大,不要害怕程序问题。
2、写程序,最重要的不是学会某种语言,而是会分析问题并提出解决问题的方法。
3、含有中断的程序较为复杂,需要编写者清楚同一时刻,我在做什么,其他人在做什么,用“并发”的方式思考问题,才能写好。
4、程序模块化是为了编写而不是为了运行,模块化和函数是两个不同的概念,函数是为了将需要多次使用的代码统一编写,以便减少程序代码量,便于维护;模块化是指将复杂的程序功能化整为零而成的功能块,一个模块可能由多个函数组成,也可能就是一个函数,还有可能只是一段紧密相连的代码块。
模块---打开冰箱门
1、抬起右手,移动到冰箱门把中心右侧1cm处
2、弯曲右手手指,构筑冰箱门
3、以2kg的力量向后拉
4、完成
5、好的模块化设计,模块间的接口简单明了。总的来说,好看好改的程序就是好程序。
6、编写程序的好习惯是分模块编写,边写边测试,在通过测试的模块基础上编写下一个模块,可以减少程序出现问题的可能性,快速排除与问题相关的模块并定位到程序语句。
7、注释不是程序,但可以帮助编写者提高边写的可能性,也可以大大提高程序的可维护性。建议C语言程序注释到函数,一些重要的操作至少要注释;汇编语言程序,至少注释70%的语句行,建议一行一注。
8、程序有BUG是很正常的,要学会找BUG的方法。
9、故障分软硬,软故障最难找。软故障多源于设计临界所导致,在一定出发条件下发生,当条件破坏时,故障可能消失得无影无踪。
软故障的误导性来源于对硬故障的经验积累。硬故障因为无需出发条件,人们往往用
尝试---判断--再尝试
10、单片机软件和硬件密不可分,查找问题时要两者兵种,不可死认一方。
11、Debug高手和新手间的区别,高手知道该如何去找,而新手会迷茫。
12、平时就要注意积累。学习软硬件只是,还要熟悉自己的实际应用,包括应用条件,否则会对放在面前,对推理极有价值的关键现象视而不见。找BUG可以用“猜” 的方法,但是“猜”完了要推理到所有的现象上去“验证”。所以我们说“怀疑---否定---再怀疑---再否定,直到找到真理所在”,前面的“尝试--- 判断---再尝试”是找BUG的基本方法。
13、在BUG面前,新手和高手初始化状态是一样的,只是高手有意识去找现象用于分析,新手看着现象发呆罢了。
14、论据有两种获得方式---寻找和傻等,高手以寻找为主,新手以傻等为主。
15、随机对随机的方式是一种在查找小概率软故障时用得极端确认方法,需要使用者对故障的基本特征熟练掌握,明确“小概率事件很少发生”的原理。
16、当一个系统由若干个部分组成时,寻找故障的时候可以将怀疑引起故障的部分更换到其他系统上,通过观察故障现象是否随该部分迁移来判断BUG所在。
17、将精力集中在需要查找的部分,排除其他模块的影响,用最简单的方法去判断,这就是模块隔离法的价值所在。
18、发生时间相关性BUG,其分开测试正确,合并测试出错的特性往往让初学者抓狂,在调试含有中断的程序时,一定要多条思路,怀疑程序的时间相关性。
19、因为只有在实际运行时才会表现出来,时间相关性BUG比较难于查找,这也就是我们建议程序在实际环境中调试,而不是仿真环境下调试的原因之一,遵守基本规则编写程序是避免时间相关性BUG说呢之所有BUG的根源。多观察现象,积累判断依据是找时间相关性BUG的法宝。
以上为单片机教程网http://www.51hei.com 站长huqin在多年程序开发中总结的一些经验,虽然写程序很累,只要我们不断的积累经验不断的学习,乐趣自然在其中,当我们开发成功一个产品我想得到的不仅仅是一个产品,还有自豪和满足吧.程序员是一个有激情的工作,希望我们都能继续写下去.
上一篇:浅谈如何按键消抖
下一篇:spi四种模式io模拟时序
推荐阅读最新更新时间:2024-03-16 13:05
- 热门资源推荐
- 热门放大器推荐
- 单片机创新实践应用.
- 独辟蹊径品内核: Linux 内核源代码导读
- 华中数控系统装调与实训
- 嵌入式C语言自我修养——从芯片、编译器到操作系统 带目录 文字版
An error occurred.
Sorry, the page you are looking for is currently unavailable.
Please try again later.
If you are the system administrator of this resource then you should check the error log for details.
Faithfully yours, OpenResty.
设计资源 培训 开发板 精华推荐
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况
- 共达电声以34亿元吸并万魔声学,集微茶座投融资对接会邀您
- 最全法律证据首次曝光, 有关贾跃亭恒大决裂的所有内幕
- 主要以修复 Bug 为主,苹果推出多款设备的 Beta 系统更新
- 网易不惧锤子:报道有独立信源支撑,愿与罗永浩开放探讨
- One UI 将取代 Touch Wiz ,三星在韩国和美国推送 Android 9.0 测试
- Empa研究团队已经打造转化率高达21.4%的柔性薄膜光伏面板
- 美通信巨头AT&T与工会握手言和:同意保护好29000个技术职位
- 信通院: 我国首届 6G 研讨会将在 9 月中旬召开
- 爱立信将剥离南京研发中心 涉600多名员工
- 武汉首批校园的“三千兆网络”建成 室内室外无缝衔接