首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

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

巧用软件中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电子学习的路上不可能一蹴而就,是点点滴滴积累的过程,加油吧,同学们!做好点点滴滴的积累。
返回列表