Board logo

标题: 巧用软件中DEBUG功能---会解决你的问题 [打印本页]

作者: wxg1988    时间: 2012-6-10 00:15     标题: 巧用软件中DEBUG功能---会解决你的问题

最近调试12864显示,先后调用两次字符显示函数如下:
putstr(0,0,"这是测试");                  
putstr(1,2,"1234测试567");      
总是发现第一个能正常显示,第二个不能正常显示。测定字符串长度,总是0x1D百思不得其解。突然想到KEIL中有DEBUG功能,于是在程序中设了断点,发现KEIL对相同的函数中变量使用时是保持上一个变量,所以显示的字符长度就是1DH了。
while(*puts != '\0')
{
        numstr++;
        puts++;
    }
    puts-=numstr;

上面是我自己想的测定字符长度的函数,出问题的就是nmstr变量,所以在使用完之后初始化一下,就OK了。后来发现使用KEIL中string库中函数strlen也能达到一样的效果,我先前不知道还有这么好的函数……很无语。
numstr=strlen(puts);
体会:我们学得很多语言中,换到不同环境中,都不知道它是怎么操作,怎么优化的了。所以我们在编程的时候,得做到每一步都在自己的掌控中做到心中有数有的放矢。这样才能把出现错误的可能性降到可以控制的程度。突然想到一位老前辈的话,我问他一直在用汇编语言,不用Cc都方便啊。他告诉我“都不知道编译器咋翻译的,不放心啊”。LOL电子学习的路上不可能一蹴而就,是点点滴滴积累的过程,加油吧,同学们!做好点点滴滴的积累。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0