STM32 fsmc驱动RA8875读取RA8875寄存器的时候返回的值都是寄存器的地址

2019-07-14 15:58发布

现在用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
望高手给予指点一二,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
tracy87
1楼-- · 2019-07-14 18:15
 精彩回答 2  元偷偷看……
maruidiyi
2楼-- · 2019-07-15 00:15
回复第 3 楼 于2013-08-31 08:39:05发表:
回复第 2 楼 于2013-08-30 17:21:40发表:
楼主确认地址设置对否?
#define RA8875_RAM        *(__IO uint16_t *)(0x6c000000+2)
这个地址设置好像有问题
反过来了还是一样,同样的接口驱动SRAM没有问题
现在不确定是RA8875的问题还是别的问题
 

 

如果楼主确认地址正确,可以换个屏测试一下,如果别的屏没有问题,能够正常驱动,那肯定就是RA8875的问题了。
tracy87
3楼-- · 2019-07-15 04:23
 谢谢各位的回复!现在接上屏有显示,但是效果很差(内容不对),主要问题是8875的寄存器都没法读出来,读出来的数值为寄存器的地址,如Reg[0] =0 reg[1]=1 以此类推,这个很头疼,用示波器看了波形都正确,现在很迷茫
maruidiyi
4楼-- · 2019-07-15 09:17
回复第 5 楼 于2013-08-31 10:43:34发表:
 谢谢各位的回复!现在接上屏有显示,但是效果很差(内容不对),主要问题是8875的寄存器都没法读出来,读出来的数值为寄存器的地址,如Reg[0] =0 reg[1]=1 以此类推,这个很头疼,用示波器看了波形都正确,现在很迷茫
 

你没有别的芯片的屏吗?我用FSMC 驱动ILI9320芯片的屏很正常的。是不是你的8875屏初始化设置没设置好,还是FSMC配置的问题.
FSMC驱动SRAM和驱动屏时,配置的内容不一样,毕竟用不同的内存块,时序也不同,设置时间和数据建立时间设置。如果这样都没有问题,屏显示还是不正常的话,还是换个屏试试吧
60user147
5楼-- · 2019-07-15 14:09
换个别的屏幕,测试fsmc配置正确与否,寄存器读写不正常肯定和这个有关,
lukyhong
6楼-- · 2019-07-15 17:18
 精彩回答 2  元偷偷看……

一周热门 更多>