STM32的FSMC无地址线控制情况下,读取数据只需取任意地址吗

2019-07-21 01:26发布

我用STM32的FSMC功能获取AD9240的数据,AD采样速度为100M。表示为什么取任意地址读到的数据不一样,或者我应该怎么读取到正确的数据。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
zi_yang
1楼-- · 2019-07-21 10:39
回复【11楼】xuande:
---------------------------------
感谢!找到问题了。确实是因为括号的问题,简直就是程序员的软肋,代码不够规范导致的。data= Bank1_SRAM4_ADDR + _addr;因为我定义Bank1_SRAM4_ADDR是这个地址上的值,后来把它加了_addr数值后自然是后面的数值全都不对了!

非常感谢。问题解决了。
xuande
2楼-- · 2019-07-21 06:07

1、 return data 这个用法,相当于 adc = Bank1_SRAM4_ADDR + _addr,好像不对,但事实上又能测到脉冲,不明白了。
      我一般用 i =  ( * ( u16 * ) ( 0x00000000 + 0x00000000 + 0x60000000 ) ) 这样的句子,你可以试试。

2、放慢读取速度,试试。

3、固定针对一个地址,便于查问题。 


4、也许输入信号不稳定?


5、如果确认地址0始终正确,就先使用这个地址吧,问题放一放。



正点原子
3楼-- · 2019-07-21 16:08
你这个应该是读任意地址就可以了。
OTR是个什么位?
有效数据是14位,你读取D0~D13试试嘛。
舍弃高位。
zi_yang
4楼-- · 2019-07-21 17:43
 精彩回答 2  元偷偷看……
zi_yang
5楼-- · 2019-07-21 23:16
 精彩回答 2  元偷偷看……
正点原子
6楼-- · 2019-07-21 23:40
回复【3楼】zi_yang:
---------------------------------
NOE一定要有变化(脉冲,每读一次,有一个脉冲的),否则检查配置。

一周热门 更多>