[STM32F1] FSMC读8位内存出错,请教大家

[复制链接]
 楼主| shimx 发表于 2022-1-1 20:05 | 显示全部楼层 |阅读模式
使用FSMC经验不足,现使用FSMC读取8bit 外部RAM,读到的数据有错位且只有第一次是正确的的,求教大家,谢谢大家帮忙指正
 楼主| shimx 发表于 2022-1-1 20:07 | 显示全部楼层
 楼主| shimx 发表于 2022-1-1 20:09 | 显示全部楼层
如上图: CE接NE2,所以CS地址空间是:BANK2:6400 0000 --- 67ff ffff ;
FSMC 配置如下(根据官方代码修改):
 楼主| shimx 发表于 2022-1-1 20:14 | 显示全部楼层
chuxh 发表于 2022-1-1 20:24 | 显示全部楼层
读数据:

uint8_t data = 0x55 ;
  /* Write data to the SRAM memory */
  for(uwIndex = 0; uwIndex < 3; uwIndex++)
  {
    *(__IO uint8_t *)(0x64000000 + uwIndex) = data;
   printf ( "FSMC read buffer[%d] fill = %x , \r\n" , uwIndex , data );
  }

  /* Read back data from the SRAM memory */
  for(uwIndex = 0; uwIndex < 3; uwIndex++)
  {
    aRxBuffer[uwIndex] = *(__IO uint8_t *)(0x64000000 +  uwIndex);
   printf ( "FSMC read buffer[%d] READ = %x , \r\n" , uwIndex , aRxBuffer[uwIndex] );
  }
        
uint8_t volatile *Test1,*Test2;
Test1=(uint8_t *)0x64000100;
*Test1++=0x99;
printf ( "FSMC read buffer3 = %x , \r\n" , *(volatile uint8_t *)0x64000100 );
printf ( "FSMC read buffer3 = %x , \r\n" , *(volatile uint8_t *)0x64000100 );        


打印出数据为:
FSMC read buffer[0] fill = 55 ,
FSMC read buffer[1] fill = 55 ,
FSMC read buffer[2] fill = 55 ,
FSMC read buffer[0] READ = 5 ,
FSMC read buffer[1] READ = 5 ,
FSMC read buffer[2] READ = 5 ,
FSMC read buffer3 = 99 ,
FSMC read buffer3 = 1 ,


请问大家问题出在哪里?始终没搞懂
supernan 发表于 2022-1-1 20:30 | 显示全部楼层
貌似你的地址线不对呀
huangchui 发表于 2022-1-1 20:32 | 显示全部楼层
你是STM32F1具体什么型号?多少脚的?
huangchui 发表于 2022-1-1 20:36 | 显示全部楼层
硬件连接可以参考下ST官方的评估板的原理图接法,软件可以参考下ST的FSMC例程。
xxrs 发表于 2022-1-1 20:39 | 显示全部楼层
现在用的是STM32F103ZET6;LQFP144
我看了官方例程,官方例程是16bit SDRAM , 我这边现在是8bit SDRAM ,其他的处理就是地址线引脚
 楼主| shimx 发表于 2022-1-1 20:43 | 显示全部楼层
我现在改动的也就是上面几点;仍然搞不明白还有什么地方不对;
 楼主| shimx 发表于 2022-1-1 20:46 | 显示全部楼层
硬件那边说对于RAM是地址寻址,方便走线是可以的;
huangchui 发表于 2022-1-1 20:50 | 显示全部楼层
应该是我看错了
chuxh 发表于 2022-1-1 20:52 | 显示全部楼层
时序先调保守些
juventus9554 发表于 2022-1-1 20:52 | 显示全部楼层
是SRAM吧,

你现在8位数据宽带,例程16位,地址这个地方你要注意,他做了1位偏移,你现在就不用做了。
huangchui 发表于 2022-1-1 21:00 | 显示全部楼层
先把速度降下来试试看
 楼主| shimx 发表于 2022-1-1 21:03 | 显示全部楼层

嗯,我再好好缕一缕吧,有了好消息及时通知大家
您需要登录后才可以回帖 登录 | 注册

本版积分规则

857

主题

10661

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部

857

主题

10661

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部