打印
[STM32F1]

STM32F103 SPI主模式数据读取问题

[复制链接]
1560|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Symbol_X|  楼主 | 2014-11-13 14:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
STM32F103主模式下读取从机的一个寄存器值的代码如下:

然后用逻辑分析仪抓去SPI通讯数据如下:

RED_LED(蓝色线)是在SPI_I2S_ReceiveData(SPI_3310)之后拉高,而从实际波形来看,第一个Byte都还没收完,所以读出来的数据根本就不对
代码都是参考3.5版库中的例子写的,请各位大侠帮忙看一下是哪里的问题,谢谢!
沙发
Symbol_X|  楼主 | 2014-11-13 14:56 | 只看该作者
似乎RXNE标志跟Datasheet里面描述的不一样,下图是Datasheet里面的时序图

RXNE是在数据接收完之后才会被置1的,而实际却提前置1了,导致以上代码读出来的数据不对。

使用特权

评论回复
板凳
Symbol_X|  楼主 | 2014-11-13 17:00 | 只看该作者
没人碰到过这种情况吗?

使用特权

评论回复
地板
Symbol_X|  楼主 | 2014-11-14 08:32 | 只看该作者
怎么都没人回答?

使用特权

评论回复
5
Symbol_X|  楼主 | 2014-11-17 16:51 | 只看该作者
还是没人回答

使用特权

评论回复
6
fengyun2351| | 2014-11-17 23:36 | 只看该作者
我用寄存器写的,好像没碰到啥问题

使用特权

评论回复
7
Symbol_X|  楼主 | 2014-12-2 08:31 | 只看该作者
fengyun2351 发表于 2014-11-17 23:36
我用寄存器写的,好像没碰到啥问题

这是调用库函数,其实也是直接操作寄存器

使用特权

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

本版积分规则

1

主题

12

帖子

0

粉丝