硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3828|回复: 3
收起左侧

[有问必答] 请教RA8875七寸屏字符显示的问题

[复制链接]

3

主题

9

回帖

3

积分

新手上路

积分
3
发表于 2016-12-23 22:05:58 | 显示全部楼层 |阅读模式
您好.
    我在用RA8875的七寸屏.按提供的例程在屏上显示一串字符.但在显示时,
只在屏的左上角的一个字符位中将字符依次显示.最后只显示最末的那个字符.
设定的X和Y的起始坐标不起作用.也不能将一串字符全部显出.试了许久,
没能找到问题所在.特向高手请教,看问题出在哪里,谢谢.


调用
RA8875_DispAscii(100, 200, ''hello');

函数为:
void RA8875_DispAscii(uint16_t _usX, uint16_t _usY, char *_ptr)
{

   RA8875_SetTextCursor(_usX, _usY);
   s_reg_40H |= (1 << 7);
   RA8875_WriteReg(0x40, s_reg_40H);   /* 设置为文本模式 */

    /* 选择CGROM font; 选择内部CGROM; 内部CGROM 编码选择ISO/IEC 8859-1. */
   RA8875_WriteReg(0x2F, 0x00);
   RA8875_WriteReg(0x21, (0 << 7) | (0 << 5) | (0 << 1) | (0 << 0));

   s_ucRA8875Busy = 1;
   RA8875_WriteCmd(0x02);    /* 用于设定RA8875 进入内存(DDRAM或CGRAM)读取/写入模式 */
/* 开始循环处理字符 */
while (*_ptr != 0)
{
      RA8875_WriteData(*_ptr);
      while ((RA8875_ReadStatus() & 0x80) == 0x80); /* 必须等待内部写屏操作完成 */
     _ptr++;
}
   s_ucRA8875Busy = 0;

   s_reg_40H &= 0x7F;
    RA8875_WriteReg(0x40, s_reg_40H); /* 还原为图形模式 */
}
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106989
QQ
发表于 2016-12-24 00:44:11 | 显示全部楼层
学习这个例子搞搞,驱动新一些
http://www.armbbs.cn/forum.php?mod=viewthread&tid=14909
回复

使用道具 举报

3

主题

9

回帖

3

积分

新手上路

积分
3
 楼主| 发表于 2016-12-24 15:28:04 | 显示全部楼层
谢谢,我捉摸捉摸.
回复

使用道具 举报

3

主题

9

回帖

3

积分

新手上路

积分
3
 楼主| 发表于 2016-12-24 16:24:34 | 显示全部楼层
用新例程对照原例程,发现在RA8875初始化函数中,少了RA8875_SetDispWin(0, 0, g_LcdHeight, g_LcdWidth);这个窗口函数,所以字符串就都被压在一个字符内显示了.加上这个窗口函数后显示正常.原ASCII码显示函数本身没有问题.谢谢.
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-13 10:20 , Processed in 0.188051 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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