经过几个小时的尝试,发现还是比较简单的,因为大部分都是自动完成的,越复杂的协议用起来越简单,所以不要怕。
参考了几个很有意义的文章
stm32扩展外部SRAM总结
STM32 利用CubeIDE (cubemx)配置FSMC 驱动SRAM-----IS62WV51216
以下我分为几部分,很简单,大概十分钟。
外部SRAM IS62WV51216BLL
引脚只需要知道片选连到单片机哪里了就好,其他引脚和单片机连接都是固定的。通信使用FSMC
stm32
这里借用别人一张图片,特意说明一下,NE3就是连接外部SRAM片选的引脚,这里是选择地址。扩展模式主要是针对屏幕那种设备,扩展模式会把通信速率降低一点。
注意:地址0 - 18 是 19bit
软件测试
只需要注意地址
这里是按照地址的不同区分不同的FSMC设备,这里是SRAM,地址就在框图内。
这里四块,就是片选NE1-4,NE3就是第三个,地址在此区间。
static uint32_t address = 0x68000000;
uint32_t data = 0;
uint32_t data1 = 0;
for(int i = 0;i < 1024;i++,data++)
{
HAL_SRAM_Write_32b(&hsram1,&address ,&data,4);
HAL_SRAM_Read_32b(&hsram1,&address ,&data1,4);
address = 4*i;
}