完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 dingwenke 于 2014-3-28 20:46 编辑
事情是这样的,小白编写了一个51单片机驱动1602LCD的小程序,希望显示的内容是:第一行,空两格+welcome!! 第二行,空一格+I am LCD。结果程序烧入单片机后显示第一行没有空格,但第二行正常,即第一行,welcome!! 第二行,空一格+I am LCD。(这个程序是分为三个文件,一个main.c文件,一个1602.c文件,一个1602.h文件,模块化编程嘛。。结果不成功) 后来小白又重新编了一边,程序内容几乎和第一个程序完全相同,只是把所有东西都弄到main.c里面了,即只有一个main.c文件,令人意外的是这样就正确显示了。。鼓捣好几天也没有一点头绪,请大神们指点指点。。。小白把程序和1602的文档压缩成附件了。。第一次发帖,不知道合不合规矩
|
|
相关推荐
3个回答
|
|
这么奇葩的问题!!期待大神解答!!
|
|
|
|
不用了,我找到原因所在了,while(--i);和while(i--);这两者的问题。本来以来这两个语句在延时的时候差别很小,可以忽略的,所以我两次编的程序其中这地方有点不一样,开始没放心上,后来又试了下,就找到问题所在了。。。还有,我说的显示的时候空格显示不出,是因为延时不够的原因。。看到的同志们可以引以为戒 最后,while(--i);和while(i--)这两个语句差别怎么会这么大?希望有懂得大神解释下 唉,让这个问题纠结了好几天,结果居然是这么不起眼的地方出错误。。。。 |
|
|
|
程序没看。
单单说while(--i);和while(i--)的话 while(--i)是i自减1后执行后面的,while(i--)是执行完后面的语句再自减; 举个例子,i初值为2时,while(--i)则语句循环一次;while(i--)循环两次(当然前提是while循环语句里面不改变i的值)。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
205 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1253 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
848 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
853 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1073 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12012 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 00:09 , Processed in 0.689527 second(s), Total 76, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号