找回密码
 立即注册

QQ登录

只需一步,快速开始

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

关于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)

用数组输入每列输出信息

用数组输入每列输出信息
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:654028 发表于 2021-5-8 14:04 | 只看该作者
LCD初始化的时候出错了?
回复

使用道具 举报

板凳
ID:916413 发表于 2021-5-8 20:09 | 只看该作者
心有浮生 发表于 2021-5-8 14:04
LCD初始化的时候出错了?

为了观察效果我特意让屏幕不初始化,直接输出数组内信息,结果读出来的是乱码
回复

使用道具 举报

地板
ID:703546 发表于 2021-5-8 20:41 | 只看该作者
能正确显示,初始化应无问题。 k = p[i+8], p[8]以后是否有正确字符信息?,改为k = p[i]试试能否显示“T”?
回复

使用道具 举报

5#
ID:916413 发表于 2021-5-8 21:26 | 只看该作者
lht5631080 发表于 2021-5-8 20:41
能正确显示,初始化应无问题。 k = p, p[8]以后是否有正确字符信息?,改为k = p试试能否显示“T”?

不行呢,谢谢你的建议
回复

使用道具 举报

6#
ID:916413 发表于 2021-5-8 21:26 | 只看该作者
写了一个头文件就解决了,真是神秘
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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