打印
[技术问答]

m451 使用spi master mode loopBACK 问题

[复制链接]
1027|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zuiainideren|  楼主 | 2019-4-2 09:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zuiainideren 于 2019-4-2 09:55 编辑

我用了C:\Customer_DVD_Cortex_20181015\DVD_Cortex\BSP Library\M451SeriesBSP_CMSIS\M451SeriesBSP_v3.01.001\SampleCode\StdDriver\SPI_Loopback 里面的例子来做实验发现spi写出值和读回值不一样,
用ice debug 看.发现RX BUF的值明明正确,
读进来到MEMORY却是错误,
再进一步比对发现每一次前面的3个MEMORY位置的值都是0X00000000,
第4个位置才是原来第一次SPI_WRITE_TX(SPI2, g_au32SourceData[u32DataCount] )读到的值,
第5个位置才是原来第二次SPI_WRITE_TX(SPI2, g_au32SourceData[u32DataCount])读到的值,
依此往下;
想问是不是读到了SPI FIFO 4层位置的资料.能不能直接读出RXBUF的值?
而不是读到第4次后才能读到,
我试过SPI0,SPI1,SPI2结果都一样.
我主要是想要从外部的IC 利用SPI读进资料后经过计算再直接转出到另一颗IC上面,所以需要及时运算,不能等到第4个.

PS.M451和M451ML我测试的结果都一样.

使用特权

评论回复
沙发
零三翟邢止胃| | 2019-4-2 09:56 | 只看该作者
那还是不错的啊!!!!

使用特权

评论回复
板凳
jasontu| | 2019-4-3 11:50 | 只看该作者
應該是你送了4筆command 後,才開始讀回資料,
在第4筆發生後,你必須清spi rx fifo,才是你開始讀回來的資料

使用特权

评论回复
地板
643757107| | 2019-4-3 22:46 | 只看该作者
这个模式还没试过

使用特权

评论回复
5
643757107| | 2019-4-3 22:46 | 只看该作者
这是接口自发自收吗

使用特权

评论回复
6
panfeng881112| | 2020-12-2 08:50 | 只看该作者
你好!你的问题解决了吗?我也碰到了同样的问题,看了别人的代码都是那样配置。

使用特权

评论回复
7
panfeng881112| | 2020-12-2 08:53 | 只看该作者
你好!关于M451SPI2读的值不实时问题解决了吗?我也碰到了同样的问题,芯片手册看了好几遍也不知道是那里出来错,请指点一下!

使用特权

评论回复
8
jasontu| | 2020-12-3 08:02 | 只看该作者
spi miso, mosi有接在一起作测试吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

16

帖子

0

粉丝