硬汉嵌入式论坛

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

[有问必答] 求助,自己设计的板子LCD不显示

[复制链接]

2

主题

1

回帖

2

积分

新手上路

积分
2
发表于 2013-8-17 11:08:36 | 显示全部楼层 |阅读模式
我用stm32f103vet和RA8875做的板子,RS连接的是A16,
我这样配置的地址

#define  RA8875_BASE   ((uint32_t)0x60000000)
#define RA8875_REG  *(__IO uint16_t *)(RA8875_BASE + 0x40000)   //command,RS A16
#define RA8875_RAM  *(__IO uint16_t *)(RA8875_BASE )                  //data
程序运行到初始化那个BTE_Wait()一直死在那个循环里。读到得ID是0x75;
现在不知道什么问题了,就是白色的屏幕,清屏的颜色都没有

还有我测得PCLK = 25MHZ,HSYNC = VSYNC = 694.4KHZ。帮分析一下哪儿出了问题

今天终于让它显示字符串了,改动一些地方,

#define RA8875_REG  *(__IO uint16_t *)(RA8875_BASE + 0x20000)   //command,RS A16
还有HSYNC = 694KHZ,VSYNC = 178KHZ左右,开始这两个线好像有些短路。
但是BTE_Wait()还是死在那儿,我看到读出的值为0XC0,bit7和bit6都为高,即内存读写和BTE都处于忙碌状态,怎么回事呢,我测
NWAIT引脚一直为3.3v左右,读写过程居然一直没有变化,不知道哪儿出问题了,继续寻找中.
         
            现在发现读状态的时候,如果单步调试和全速调试时候读出的值居然不一样,单步的时候读出0x00,全速的时候读出0xC0;全速就会死在那个while()循环里。
准备多加些延时试试。如果我用例程里面的while((RA8875_ReadStatus() & 0x40) == 0x40),不会死在这里。但是我多用一个value = RA8875_ReadStatus() ;
while((value & 0x40) == 0x40)就会死在这里,因为value的值为0XC0了,除非单步运行。求助中
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 14:26 , Processed in 0.245380 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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