打印
[PIC®/AVR®/dsPIC®产品]

877A定义一个6*84的数组显示没空间了

[复制链接]
1042|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jinwe|  楼主 | 2019-11-10 19:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
定义了一个unsigned char buf_disp[6][84]用做LCD5110的缓冲,准备来实现任意位置车字符,可是提示没空间了,请问有解吗?该数组要读写,不能设定为const。谢谢了!

使用特权

评论回复
沙发
空中白云| | 2019-11-10 19:15 | 只看该作者
你芯片的设置不对,在属性里改下,片上ram

使用特权

评论回复
板凳
jinwe|  楼主 | 2019-11-10 20:02 | 只看该作者
空中白云 发表于 2019-11-10 19:15
你芯片的设置不对,在属性里改下,片上ram

请问怎么才能改,小白才开始学。我看手册上显示也是只有368个字节啊,而我一个数组就要用掉502个字节。谢谢了,麻烦指教一下

使用特权

评论回复
地板
jekey| | 2019-11-10 21:09 | 只看该作者
jinwe 发表于 2019-11-10 20:02
请问怎么才能改,小白才开始学。我看手册上显示也是只有368个字节啊,而我一个数组就要用掉502个字节。谢 ...

既然知道只有368可用,那就最多只以和368个。
那就只以换芯片, 或者把lcd当外部ram,少占和内部ram

使用特权

评论回复
5
jinwe|  楼主 | 2019-11-10 21:20 | 只看该作者
5110不支持读屏幕?877a有片外ram吗?

使用特权

评论回复
6
dog_xin| | 2019-11-11 07:49 | 只看该作者
改程序,不一定要这么多的缓冲

使用特权

评论回复
7
gx_huang| | 2019-11-11 08:33 | 只看该作者
改思路,不相信你真的需要这么多LCD缓冲

使用特权

评论回复
8
jinwe|  楼主 | 2019-11-11 08:45 | 只看该作者
5110有6*84个屏幕字节,想在屏幕上任意位置写入,但屏幕数据5110不能读,只能在缓冲中想办法啦,先写到缓冲,再一次性写到屏幕中去。这样就能画点线。但不能定义这个数组,只能再想办法喽,谢谢各位了!

使用特权

评论回复
9
icecut| | 2019-11-11 09:11 | 只看该作者
bit 和byte 你要分清啊....

使用特权

评论回复
10
jinwe|  楼主 | 2019-11-11 09:41 | 只看该作者
bit和byte应该能分清,5110共有84*48个点,对应为6*84个字节

使用特权

评论回复
11
CoolSilicon| | 2019-11-11 11:42 | 只看该作者
我看手册上显示也是只有368个字节啊,而我一个数组就要用掉502个字节

==> 巧妇难为无米之炊啊.....你都用完了...
要么优化算法, 要么换型号
强上的话, 比较难啊.

使用特权

评论回复
12
jinwe|  楼主 | 2019-11-11 12:02 | 只看该作者
嗯,刚开始学习就碰到这种问题,呵呵,谢谢各位了!

使用特权

评论回复
13
icecut| | 2019-11-12 10:15 | 只看该作者
jinwe 发表于 2019-11-11 12:02
嗯,刚开始学习就碰到这种问题,呵呵,谢谢各位了!

这不是问题, 你就不用缓存了不就行了. 每次局部渲染.就可以了.

使用特权

评论回复
14
jinwe|  楼主 | 2019-11-12 13:47 | 只看该作者
icecut 发表于 2019-11-12 10:15
这不是问题, 你就不用缓存了不就行了. 每次局部渲染.就可以了.

唉,水平有限,这是我想到的最简单的方法

使用特权

评论回复
15
icecut| | 2019-11-12 16:09 | 只看该作者
jinwe 发表于 2019-11-12 13:47
唉,水平有限,这是我想到的最简单的方法

显示屏厂商会给你单片机的样例代码,照着抄抄就行了.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

115

帖子

0

粉丝