现在用
STM32的 fsmc 驱动 RA8875 出现了一个奇怪的现象,在读取RA8875寄存器的时候返回的值都是寄存器的地址,代码如下
csNE4
#define RA8875_REG *(__IO uint16_t *)(0x6c000000+2)
#define RA8875_RAM *(__IO uint16_t *)(0x6c000000)
uint8_t RA8875_ReadReg(uint8_t _ucRegAddr)
{
uint8_t value;
RA8875_REG = _ucRegAddr;/* 设置寄存器地址 */
value = RA8875_RAM; /* 读取寄存器值 */
return value;
}
返回值始终等于传递的参数_ucRegAddr
望高手给予指点一二,谢谢!
回复第 2 楼 于2013-08-30 17:21:40发表:
楼主确认地址设置对否?
#define RA8875_RAM *(__IO uint16_t *)(0x6c000000+2)
这个地址设置好像有问题
反过来了还是一样,同样的接口驱动SRAM没有问题
现在不确定是RA8875的问题还是别的问题
如果楼主确认地址正确,可以换个屏测试一下,如果别的屏没有问题,能够正常驱动,那肯定就是RA8875的问题了。
谢谢各位的回复!现在接上屏有显示,但是效果很差(内容不对),主要问题是8875的寄存器都没法读出来,读出来的数值为寄存器的地址,如Reg[0] =0 reg[1]=1 以此类推,这个很头疼,用示波器看了波形都正确,现在很迷茫
你没有别的芯片的屏吗?我用FSMC 驱动ILI9320芯片的屏很正常的。是不是你的8875屏初始化设置没设置好,还是FSMC配置的问题.
FSMC驱动SRAM和驱动屏时,配置的内容不一样,毕竟用不同的内存块,时序也不同,设置时间和数据建立时间设置。如果这样都没有问题,屏显示还是不正常的话,还是换个屏试试吧
一周热门 更多>