|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2009-3-22 18:08:13
|
显示全部楼层
问题已解决,修改程序如下:
/* --- 清显示 32K RAM区(清屏)子程序 --- */
void Lcd_Clear(void)
{
uint i = 32768;
//uint i = 9600;
uchar j=0;
writecommand(CsrDirR); //光标移动方向定义:自动右移
writecommand(CsrW); //光标Locate,定位
writedata(0x00); //写入参数CSRL设置参数光标指针低8位
writedata(0x00); //写入参数CSRH设置参数光标指针高8位
writecommand(mWrite); //数据写入指令,代码0x42
while(i--)
{
writedata(0X00); //清屏
}
writecommand(CsrW); //光标Locate,定位
writedata(0x50); //写入参数CSRL设置参数光标指针低8位
writedata(0x00);
writecommand(mWrite); //数据写入指令,代码0x42
while(a[j])
{
writedata(a[j++]); //a数组中存放要显示的代码
}
}
但我又发现了新问题,我用320*240的液晶屏,设置一行显示40个字符,那么相应的第二行的首地址应该是0x28H(40),才对啊,为什么我设置成0X50它才从第二行显示?
希望也有困惑的奋斗者把你遇到的问题拿出来晒晒,希望用RA8835作图的前辈给点意见,鄙人先在此谢过! |
|