完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
两片 MT48LC32M16的SDRAM 操作读写问题 ??? 描述如下:
#define SDRAM_BASE_ADDR ((uint32_t)0xC0000000) // CS0 1、按照 32位的读写,完全正常, { // sdram 读写,按照32位进行测试, 使用指针进行操作 ok uint32_t *ptrSdramAddr; ptrSdramAddr = (uint32_t *)SDRAM_BASE_ADDR; // 吧地址转换为指针 printf("rnSDRAM 测试 开始 ..."); for(ii=0;ii<0x2000000;ii++) // 128MByte 1024*1024*32*4/1024/4 { *ptrSdramAddr = ( __IO uint32_t )(SDRAM_BASE_ADDR + (ii * 4)); ptrSdramAddr ++; // 每加一次表示是4个字节的地址数目 } ptrSdramAddr = (uint32_t *)SDRAM_BASE_ADDR; // 吧地址转换为指针 printf("rnSDRAM 测试 开始读出数据进行校对 ......"); for(ii=0;ii<0x2000000;ii++) // 128MByte 1024*1024*32*4/1024/4 { jj = *ptrSdramAddr++; if(jj != (SDRAM_BASE_ADDR + (ii * 4) ) ) printf("rnSDRAM 测试 读循环 出错"); else { if(ii >= (0x2000000 - 1)) { printf("rnSDRAM 测试 读循环次数 = 0x%X", ii + 1); printf("rnSDRAM 测试 读 地址 = 0x%X", SDRAM_BASE_ADDR + (ii * 4) + 4); } } } } 2、按照 16位的读写,不正常 { // sdram 读写,按照16位进行测试, 使用指针进行操作 uint16_t *ptrSdramAddr; uint32_t dattt; uint16_t cc=0; ptrSdramAddr = (uint16_t *)SDRAM_BASE_ADDR; // 吧地址转换为指针 for(ii=0;ii<0x4000000;ii++) // 128MByte 1024*1024*32*4/1024/4 { *ptrSdramAddr = cc; ptrSdramAddr ++; // 每加一次表示是2个字节的地址数目 cc ++; } printf("rnSDRAM 测试 开始读出数据进行校对 ......"); ptrSdramAddr = (uint16_t *)SDRAM_BASE_ADDR; // 吧地址转换为指针 cc = 0; for(ii=0;ii<0x4000000;ii++) // 128MByte 1024*1024*32*4/1024/4 { dattt = *ptrSdramAddr; ptrSdramAddr ++; if(dattt != cc ) printf("rnSDRAM 测试 读循环 出错"); else { if(ii >= (0x4000000 - 1)) { printf("rnSDRAM 测试 读循环次数 = 0x%X", ii + 1); printf("rnSDRAM 测试 读 地址 = 0x%X", SDRAM_BASE_ADDR + (ii * 2) + 2); } } cc ++; } } 有谁知道这是为何吗 ???? |
|
相关推荐
9个回答
|
|
|
|
SDRAM_BASE_ADDR转换为十六位的地址是0x0000,这样SRAM是找不到他的实际地址的。
|
|
|
|
你好,那有什么好方法可以解决一下啊 ?? 或者是不能够按照 16位来进行操作 ? |
|
|
|
可以考虑用一个十六位的指针加实际地址,SRAM我也用的比较少。
|
|
|
|
|
|
:(:(
|
|
|
|
关注。。。。。
|
|
|
|
|
|
地址依然使用32位进行定义看看,
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2085 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1924 浏览 3 评论
4518 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2069 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2581 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 01:43 , Processed in 0.784866 second(s), Total 92, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号