找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7364|回复: 0
打印 上一主题 下一主题
收起左侧

单片机LCD上下翻页功能的实现

[复制链接]
跳转到指定楼层
楼主
ID:27926 发表于 2011-1-25 00:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

电子制作小心得:

电子书要用到滚屏,在写lcd12864底层驱动的时候就开始研究如何能实现滚屏,可惜液晶屏的寄存器所描述的滚屏只能实现一次滚,第2次滚的时候就失效了,再把滚屏禁止,原来的数据又回来了,弄了好久滚屏这块还是没弄懂。最后我只能每次翻一页,每次重新刷数据。还有一个问题是这样的,因为一个文档里可以有英文、汉字、特殊符号(ascii里 小于32的那些)这样一屏显示多少数据是不固定的,有可能是540 也有可能是530 或者更少,所以每次翻页文件指针移动的多少都不固定,向下翻页的时候很简单,只要记录上一屏给lcd上显示了几个数据,然后下翻的时候只要把文件指针向后移动多少就行了。但向上翻页时怎么办?必须要知道上上一屏的数据是从哪个文件指针开始读的,这就要做记录。可以开一个20 长度的unsigned long型数据来存储,当然这只能支持向上翻18页,其实这块完全可以根据要读的txt文档的大小来计算出最坏情况下需要的数据长度,然后用malloc动态分配出这么长的内存单元来做记录(这要保证启动代码里分配了足够大的heap,因为malloc申请的内存来源于堆)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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