|
您好.
我在用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); /* 还原为图形模式 */
}
|
|