OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8069|回复: 9

战舰的彩屏使用??求教大家

[复制链接]

21

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-1-20
在线时间
0 小时
发表于 2013-2-2 20:07:21 | 显示全部楼层 |阅读模式
是这样的,我自己写的函数,函数功能很简单,就是在战舰的彩屏上显示一副图画,图画不大,240X56,我直接用取模软件取的
然后就存在一个数组里面,写了个函数,如下void draw_logo()
{
  u8 i,j,x=0;
  for(i=0;i<240;i++)
  {
    for(j=0;j<56;j++)
 {
  LCD_SetCursor(i,j);  //设置光标位置
  LCD_WriteRAM_Prepare(); //开始写入GRAM
  LCD->LCD_RAM=(((0x0000|shuzu[x+1])<<8)|shuzu[x]);
  x+=2;
 }
   }
}
可是这样画出来的图,不对,也不知道哪里的问题啊请大家帮帮忙啊


啥也不懂就是想跟大家学习
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-2-2 20:30:22 | 显示全部楼层
你这个方式,错了.
我们的lcd默认扫描方式是从左到右,从上到下.
你这个得设置扫描方向为从上到下,从做到右,才能得到你想要的结果.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

21

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-1-20
在线时间
0 小时
 楼主| 发表于 2013-2-2 20:46:33 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
我扫描不对啊,就是从上到下,从左到右啊
啥也不懂就是想跟大家学习
回复 支持 反对

使用道具 举报

21

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-1-20
在线时间
0 小时
 楼主| 发表于 2013-2-2 20:46:51 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
哪里出错了啊原子哥
啥也不懂就是想跟大家学习
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-2-2 20:49:00 | 显示全部楼层
加delay_ms看看扫描符合预期不,最好有个JTAG调试下.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-2-2 20:49:25 | 显示全部楼层
另外,你那个左移,是不是越界了?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

21

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-1-20
在线时间
0 小时
 楼主| 发表于 2013-2-2 20:50:26 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
我调了半天也没对,原子哥,那应该怎么移位
啥也不懂就是想跟大家学习
回复 支持 反对

使用道具 举报

21

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-1-20
在线时间
0 小时
 楼主| 发表于 2013-2-2 21:08:44 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
原子哥,我现在把扫描方式设置对了
这个函数是不是哪里写错了呢
void draw_logo()
{
  u8 i,j,x=0;
  for(i=0;i<56;i++)
  {
    for(j=0;j<240;j++)
{
 LCD_SetCursor(j,i); //设置光标位置
 LCD_WriteRAM_Prepare(); //开始写入GRAM
 LCD->LCD_RAM=(((0x0000|huainan[x+1])<<8)|huainan[x]);
 x+=2;
//  delay_ms(20);
}
   }
}
啥也不懂就是想跟大家学习
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-2-2 22:13:01 | 显示全部楼层
x为u8类型的数据,肯定是不行的.
另外,你的huainan数组是u8的吧?
左移8位,是不是越界了?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

21

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-1-20
在线时间
0 小时
 楼主| 发表于 2013-2-2 22:37:39 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
是U8 的问题,改成U32出来了,谢谢原子哥,一语中的了…………
啥也不懂就是想跟大家学习
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-22 06:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表