EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
浅谈单片机调试方法
: i) @; M; W6 g: C0 {; H+ m7 q+ _2 h$ n/ I' R, h, G) d
1. 利用I/O 1.1 利用LED进行可视化管理 这种方法需要有多余的I/O。(如果可能,也可以将实现次要功能的I/O暂时借来一用。) 其电路很简单,一个LED通过限流电阻接到VCC电源。I/O设置为输出方式。 我们可以用下面的宏来定义LED的操作。 #define LED_YELLOW_ON() PA6D=0 #define LED_YELLOW_OFF() PA6D=1 #define LED_YELLOW_FLASH() PA6D^=1 举个例子说明它的用法。在低功耗的产品设计中,我们一般采用“睡眠à醒来工作à睡眠à醒来工作”的工作模式,其程序结构如下: while(1) { HLT = 1; //进入睡眠 nop(); clear_WDT(); //清看门狗 //醒来,处理各种事务 } 如果我们在程序醒来时点亮LED,事务处理完毕时熄灭LED,那么我们就能“看见”程序的工作状态,LED将周期性地闪烁。这就是我们称之为可视化管理的原因。(不记得在哪本书上看到“可视化管理”这个概念,我借用一下) 其软件结构是这样: while(1) { HLT = 1; //进入睡眠 nop(); clear_WDT(); //清看门狗 LED_YELLOW_ON(); // debug //醒来,处理各种事务 LED_YELLOW_OFF(); // debug }
& d" `; L8 `3 ~( y. {" ]
|