你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

问个关于STM32L4 SPI读数据,前3个字节永远是0

[复制链接]
maisheng 提问时间:2017-2-20 14:47 /
阅读主题, 点击返回1楼
收藏 1 评论14 发布时间:2017-2-20 14:47
14个回答
zoomdy 回答时间:2017-2-21 12:57:45
SPI是全双工的,当MOSI在发送数据的时候,MISO同时也在接收数据,如果说你要先发送4字节然后接收2字节,那么实际上发送了6字节,4字节你指定的数据和2字节FF,接收到的也是6个字节,要自己丢弃前面4个字节。一般来讲,接收的数据应该是FF,你收到的是0,我想问一下,你的MISO是上拉还是下拉或者是浮空?如果MISO是下拉那接收到0就对了,如果是浮空,那接收到0的可能性也很大。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

maisheng 回答时间:2017-2-22 10:29:26
zoomdy 发表于 2017-2-21 12:57
SPI是全双工的,当MOSI在发送数据的时候,MISO同时也在接收数据,如果说你要先发送4字节然后接收2字节,那 ...

非常感谢。我的MISO是悬空的。根据阁下的意见找到解决办法了。把所有HAL_SPI_Transmit()都换成HAL_SPI_TransmitReceive()就好了。应该是SPI的read fifo中的数据没有读取导致。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2 结贴奖励

查看全部评分

zbber 回答时间:2017-2-22 15:31:26
没有找到问题之前只能先这样改代码:
maisheng 回答时间:2017-2-25 13:58:01
zbber 发表于 2017-2-22 15:31
没有找到问题之前只能先这样改代码:

已经解决了。看你楼上回复。
奇缘时间 回答时间:2017-9-17 00:31:27
你好,最近使用HAL库 SPI通信时也出现了错误,请问你的问题解决了嘛?
12

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版