对于长期玩单片机的朋友都知道,程序运行BUG在所难免,重复性的调试过程永远是痛苦的,加入你对所使用的IDE应用还不是很熟悉,对于他的在线仿真调试工具使用不是很顺手,那么下边的方法可能会帮到你哦。
为了可以更好地帮助到哪些处于困难阶段的朋友,我特此针对于通用型单片机和AVR系列单片机的特点,总结了两种可以调试程序的方法,仅供于大家参考使用! If you have a better way, please leave a comment below.
方法一:通用方法:想知道程序执行到那里或者是不是到达了这里,可以在该处加上流水灯的闪烁程序。一目了然。代码实现方法如下:
开头定义一下
#define DEBUG_HERE_PROGRAM 1
unsigned char PB1 = 0;
中间的部分省略。。。。。。。
需要测试地方如下
if DEBUG_HERE_PROGRAM == 1
if (PB1=0)
{
PORTB &=~( 1< PB1=1; } else { PORTB |=( 1< PB1=0; } delayxms(100); #endif 方法二:AVR专用方法 : 通过初始化串口以后,利用寄存器的设置,向缓冲区发送数据传送到串口!! while(!(UCSR1A&(1< UDR1=0xff;//此处的0xff为自己想要看到的数据(可自定义); 好了,以上我自己用到的两种调试方法
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』