标题: 关于LCD12864显示字体的问题 [打印本页]

作者: Lanmrt    时间: 2021-5-8 11:05
标题: 关于LCD12864显示字体的问题
下面是一段代码,用来打印一个8*16的英文字母。问题来了,我利用数组输入字母的信息,在屏幕上显示的是一堆乱码。当我换种方式,一列一列输入要输出的信号,屏幕上反而能正常显示字母。请问这会是什么原因呢。void show(uchar screen,uchar page,uchar column,unsigned char code* p)
  1. {
  2.         uchar i=0;
  3.         uchar k = p[0];
  4.         SelectScreen(screen);
  5.         setLcdX(page);        
  6.         setLcdY(column);
  7.         for(i=0;i<8;i++)
  8.         {
  9.                 k = p[i];
  10.                 writeShowData(k);
  11.         }
  12.         setLcdX(page+1);        
  13.         setLcdY(column);
  14.         for(i=0;i<8;i++)
  15.         {
  16.                 k = p[i+8];
  17.                 writeShowData(k);
  18.         }
  19. }
复制代码


屏幕捕获_2021_05_08_11_01_47_219.png (6.13 KB, 下载次数: 81)

直接输入每列输出信息

直接输入每列输出信息

屏幕捕获_2021_05_08_11_00_08_721.png (14.51 KB, 下载次数: 77)

用数组输入每列输出信息

用数组输入每列输出信息

作者: 心有浮生    时间: 2021-5-8 14:04
LCD初始化的时候出错了?
作者: Lanmrt    时间: 2021-5-8 20:09
心有浮生 发表于 2021-5-8 14:04
LCD初始化的时候出错了?

为了观察效果我特意让屏幕不初始化,直接输出数组内信息,结果读出来的是乱码
作者: lht5631080    时间: 2021-5-8 20:41
能正确显示,初始化应无问题。 k = p[i+8], p[8]以后是否有正确字符信息?,改为k = p[i]试试能否显示“T”?
作者: Lanmrt    时间: 2021-5-8 21:26
lht5631080 发表于 2021-5-8 20:41
能正确显示,初始化应无问题。 k = p, p[8]以后是否有正确字符信息?,改为k = p试试能否显示“T”?

不行呢,谢谢你的建议
作者: Lanmrt    时间: 2021-5-8 21:26
写了一个头文件就解决了,真是神秘




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1