[STM32F1] stm32f103zet6接16bit SRAM ,16bit访问正常,8bit出错。

[复制链接]
 楼主| z_no1 发表于 2016-3-11 11:59 | 显示全部楼层 |阅读模式
256*16的SRAM ,
for(j=0;j<1024;j++)
        {       
        *(__IO uint16_t *)(0x68000000+j*2) = (uint16_t)j;       
        }

用仿真器看内存是
0000 0001 0002 0003 0004....是正常的。

   for(i=0;i<(2*1024);i++)
        {
        for(j=0;j<256;j++)
                {       
                *(__IO uint8_t *)(0x68000000+i*256+j) = (uint8_t)j;       
                }
        }

内存是
01 00 03 00 05 00 07 00 0B 00 0D 00 0F 00
11 11 13 13 15 15 17 17 1B 1B 1D 1D 1F 1F
21 21 23 23 25 25 27 27 2B 2B 2D 2D 2F 2F.......
原理图和初始代码用的都是官方的。是哪有问题啊?
 楼主| z_no1 发表于 2016-3-11 13:49 | 显示全部楼层
地址线和数据线有调换,但这也不是什么问题啊?有遇到的吗?
xmshao 发表于 2016-3-11 14:28 | 显示全部楼层
既然SRAM是16位的,如无特殊机制,一般来讲只支持双字节寻址。

你确信你用的SRAM支持单字节寻址吗?
 楼主| z_no1 发表于 2016-3-11 18:08 | 显示全部楼层
一语惊醒梦中人,IC是支持的,但问题出在数据线交叉上了,我把D[7..0] 和D[15..8]的两组线交叉了。重新打板了。
xmshao 发表于 2016-3-12 14:24 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

225

主题

2659

帖子

10

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

225

主题

2659

帖子

10

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