[STM32F4] 是可不可以将ad7606的读取结果直接存放在外扩的SRAM中

[复制链接]
 楼主| pengf 发表于 2022-1-3 19:35 | 显示全部楼层 |阅读模式
用stm32f407的FSMC外扩了SRAM,同时还用的FSMC来驱动一个ad7606(A/D转换器),当然用的是bank1不同的区(FSMC_NEx),我想问的是可不可以将ad7606的读取结果直接存放在外扩的SRAM中
wyjie 发表于 2022-1-3 19:37 | 显示全部楼层
什么意思?不是很明白你说的什么,能再解释一下这个现象吗
 楼主| pengf 发表于 2022-1-3 19:39 | 显示全部楼层
 楼主| pengf 发表于 2022-1-3 19:42 | 显示全部楼层
赋值符号右边为AD7606读操作,左侧为定义在外扩SRAM中的一个数组,我想问一下可以这样操作吗
zhenykun 发表于 2022-1-3 19:45 | 显示全部楼层
还有什么现象?能再详细描述下吗?
 楼主| pengf 发表于 2022-1-3 19:47 | 显示全部楼层
FSMC的数据线是复用的,可以使用这样一条语句进行读取吗?
juventus9554 发表于 2022-1-3 19:52 | 显示全部楼层
估计
 楼主| pengf 发表于 2022-1-3 19:54 | 显示全部楼层
那应该怎么做,才能将ad7606读取结果放在外扩的SRAM中?
zwll 发表于 2022-1-3 19:56 | 显示全部楼层
先读到内部SRAM,然后再写入外部SRAM?
xxrs 发表于 2022-1-3 19:59 | 显示全部楼层

支持,非常给力的。ST是烧录器做的最好老大。
xxrs 发表于 2022-1-3 20:02 | 显示全部楼层
不知道,没试过这种,应该不行吧。
wuhany 发表于 2022-1-3 20:04 | 显示全部楼层
从同一个地址转移到同一个地址的不同设备,估计不行。
 楼主| pengf 发表于 2022-1-3 20:06 | 显示全部楼层
有人告诉我说  理论上可以,我也没试过,所以问问大家有没有这么做过的
 楼主| pengf 发表于 2022-1-3 20:08 | 显示全部楼层
SRAM和AD7606是挂载在bank1的不同区上,也就是它们的FSMC_NEx是不同的,所以地址肯定也是不一样的
lizye 发表于 2022-1-3 20:10 | 显示全部楼层
从理论上可行  因为有片选
 楼主| pengf 发表于 2022-1-3 20:12 | 显示全部楼层

哦哦  只是一个想法  那我试试
renyaq 发表于 2022-1-3 20:14 | 显示全部楼层
理论上来说应该是可行的。就算C代码只是一条赋值语句,编译后也是多条指令操作,应该会先读取到内部寄存器,再保存到外部RAM,只要各自的FSMC配置没问题,应该就没问题。楼主可以验证一下。期待楼主的验证结果!
renyaq 发表于 2022-1-3 20:16 | 显示全部楼层
应该是可以,不过和先读到寄存器再写是一样的,你可以看下编好汇编指令,直接写入是不可能的,因为fsmc数据和地址是分时复用的.
效率上和先读再写是一样的,所以不必纠结了.
 楼主| pengf 发表于 2022-1-3 20:21 | 显示全部楼层
嗯嗯  逻辑上应该是先读取ad7606的输出到片内寄存器,具体是哪个就不太清楚了,没看汇编,然后再从这个内部寄存器将数据写入外扩的SRAM,那条语句在C语言看上去是一条命令,但是底层的汇编执行是分若干步的,是这意思吧
 楼主| pengf 发表于 2022-1-3 20:25 | 显示全部楼层
Thank you 谢谢你的回复,也有人这么跟我解释的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

718

主题

10129

帖子

3

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

718

主题

10129

帖子

3

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