一个简单的问题难住我了,你来看看吧

[复制链接]
2749|13
 楼主| 海川先生 发表于 2012-9-15 16:24 | 显示全部楼层 |阅读模式
FOR, ICT, ic, pic, pi
本帖最后由 海川先生 于 2012-9-15 16:33 编辑

这是一段在12864液晶上划线的代码
void draw_dot_demo()
{
uchar x,y;
LCD_picture_init();      //初始化
picture_clear();           //清屏
for(x=0;x<=127;x++) //划横线,在第33行划一条线,共计128个点
     draw_dot(x,32);     //画点函数
for(y=63;y>=0;y--)      //划竖线 ,疑问在一句
     draw_dot(0,y);
}

写成for(y=63;y>=0;y--) 屏幕上啥也不显示,而写成for(y=63;y>0;y--) 能显示横竖两条线(说明硬件没问题),但划出的竖线不含(0,0)点。事实上我想画出含有(0,0)点的线。
怎么解决?
这么基础的问题,哎,汗颜呀,特来请教。
 楼主| 海川先生 发表于 2012-9-15 16:34 | 显示全部楼层
十来个人看来都不说话,自己先顶一下。晚上再来看看
znmcu 发表于 2012-9-15 16:55 | 显示全部楼层
if(y==0) break;
amwrdfe 发表于 2012-9-15 18:09 | 显示全部楼层
uchar x,y;
for(y=63;y>=0;y--)
这是一个死循环。
ningling_21 发表于 2012-9-15 18:22 | 显示全部楼层
楼上正解....
znmcu 发表于 2012-9-15 18:28 | 显示全部楼层
把uchar改成char
原野之狼 发表于 2012-9-15 20:30 | 显示全部楼层
死循环  自己debug一下就知道了
hjs1618 发表于 2012-9-16 11:14 | 显示全部楼层
死循环了。改成for(y=0;y<=63;y++)。就可以
duhemayi 发表于 2012-9-16 15:03 | 显示全部楼层
看看,也想用12864
菜鸟同学 发表于 2012-9-17 08:56 | 显示全部楼层
又是一个这样的问题,数据范围在-128—127 有符号,无符号0到255你自己想想或者调试下,看数据是如何判断的,
wupingjun315 发表于 2012-10-4 22:50 | 显示全部楼层
不建议使用Y--,改成Y++即可。
joyme 发表于 2012-10-5 17:09 | 显示全部楼层
for(y=63;y>0;y--)      //划竖线 ,疑问在一句
    draw_dot(0,y);
draw_dot(0,0);
这个名字 发表于 2012-10-6 13:57 | 显示全部楼层
y是uchar的,到0以后就成了0xff了,然后就会一直在第二个for循环里执行了。
这个名字 发表于 2012-10-6 13:57 | 显示全部楼层
y是uchar的,到0以后就成了0xff了,然后就会一直在第二个for循环里执行了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

200

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部