超实用的两种调试AVR单片机的方法!!!

       对于长期玩单片机的朋友都知道,程序运行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为自己想要看到的数据(可自定义);

好了,以上我自己用到的两种调试方法,希望给大家带去灵感,请大家批评指正!

转载请注明出处~

你可能感兴趣的:(超实用的两种调试AVR单片机的方法!!!)