我做一个项目,用到彩屏和at24c1024,因为程序空间有限,
把一些图片放到at24c1024里,读取显示。
图片总共19500字节,存放在at24c1024的第0~19499空间内,读取显示都没问题。
后来又把一些汉字字模放到at24c1024里。
结果读取出现问题。我原来显示图片写了两个连续读取
子程序,一个连续读240个字节,一个连续读取245个字节。
要显示的汉字是64*64的,每一个汉字512个字节,共8个汉字。从at24c1024
的19500地址开始存放。
我又写了一个连续读取512个字节的程序,显示不正常。
后来我做测试,我写了一个连续读取256个字节的程序,读取后放到一个数组内(eedata[256])。
连续读两次,分别从两次读取的数据中随即抽取两个字节显示在彩屏上。
发现第一次读的对,第二次不对。
AT24C1024里烧写的数据应该没错。
因为我先读取一个汉字的前256个字节,再读取后256个字节。先读取的对,后读取的不对。先读取一个汉字的后256个字节,再读取前256个字节,也是先读取的对,后读取的不对。
后来我又测试,读一个汉字,分两次读,把两次读到的数据组合存放在另一个
数组内(eedata1[512)。然后显示,多数汉字显示不正常,偶尔一个汉字正常。
但是连续读取8个,读取一个汉字显示一个,8个汉字都显示不正常。
我搞了很长时间,都搞不对。请高手指教,谢谢! |