这里又是我们想迅速提高要越过的一座山。
看书,抄代码,目标就是为了实现我们要达到的单片机功能
经常是眼高手低,很好的思路有时候就被一个简单的问题卡死。
一星期,一个月,所有的激情都被消磨光了,然后的结果大家都知道了,
大部分人都到了半山腰,再也爬不上去了。
问题在那里,就是调试技巧没有掌握。
下面是第一个技巧:
故障编码,跟踪捕获
方法一
设置一个全局变量 ERRORCODE
这里以AVR单片机为例,现在大部分单片机都有看门狗电路。
在每一个看门狗复位信号的后面,写上一个代码
例如
WDR();
ERRORCODE = 11;
//....再运行一段程序
WDR();
ERRORCODE = 12;
然后当单片机出现异常,或者死循环时,看门狗中断触发
在看门狗中断里增加几行写入EEPROM的语句
将最后的错误代码记录下来。
这样就知道运行到那里出问题了。很容易排除软硬件故障。
方法二,
每隔一段程序将错误信息用COM或USB发送到电脑中。
最好再在关键的地方增加声音提示。
我们只要眼能看得到 听得到的事情比较容易分辨问题处在那里。
不管白猫黑猫,歪的正的 只要你想办法把信息显示出来,声音提示叫出来。
即增加了兴趣又提高了调试效率。这样你才能学的更快。
午睡了(待续)
19:19 继续
无论上下位机 必须将调试信息以错误代码,或者错误文件记录的方式连续记录下来
这样整个程序的DEBUG会非常有效率,再聪明的人也不可能凭空来抓BUG的:)
tengjingshu_112148725 2009-8-12 14:07