原创 巧用软件中DEBUG功能---会解决你的问题

2012-6-5 10:42 1351 18 18 分类: MCU/ 嵌入式

最近调试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电子学习的路上不可能一蹴而就,是点点滴滴积累的过程,加油吧,同学们!做好点点滴滴的积累。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
18
关闭 站长推荐上一条 /3 下一条