打印

STM32的SPI接收数据不正确

[复制链接]
8065|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lwj006|  楼主 | 2011-7-27 12:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问大家,我用SPI发送和接收数据,结果不正确。
具体:主机发送0x73(0111 0011)给从机,从机接收到的数确实0x37(0011 0111)或者0x6E(0111 1110)等的数据,这些数据很明显是0x73移位后的数据,从机给主机返回的值也是移位后的值,根本不是原来的值,这是怎么回事呢?我的主从机时钟极性和相位都是配置成相同的啦,我感觉是采样的时刻不对,请高手指点,怎样解决这个问题,感激不尽!
沙发
lwj006|  楼主 | 2011-7-27 16:25 | 只看该作者
没人回答,自己顶:(

使用特权

评论回复
板凳
香水城| | 2011-7-27 17:08 | 只看该作者
你可以试试调整时钟极性和相位,再配合示波器调试。

使用特权

评论回复
地板
caner_hn| | 2011-7-28 08:51 | 只看该作者
没死机算你走运.调试SPI的第一步:把MISO与MOSI短接,自发自收

使用特权

评论回复
5
lwj006|  楼主 | 2011-7-28 12:29 | 只看该作者
谢谢楼上们的好心回答,我自发自收已经成功。:)

使用特权

评论回复
6
lwj006|  楼主 | 2011-7-28 12:32 | 只看该作者
5# caner_hn
谢谢您的回答,我自发自收已经成功,呵呵,我想问一下,用两个M3不能单步调试SPI吗(⊙_⊙)?为什么会死机呢?谢谢!

使用特权

评论回复
7
caner_hn| | 2011-7-29 20:23 | 只看该作者
全速跑,单步调试很多问题,用示波器测CS,SCLK,SDAT信号

使用特权

评论回复
8
贝多芬爵士| | 2011-10-6 21:51 | 只看该作者
我也遇到了这个问题了,请问楼主怎么解决的啊??

使用特权

评论回复
9
贝多芬爵士| | 2011-10-7 16:10 | 只看该作者
我的好像解决了,发送延时一下,还有先初始化时钟,再配置端口,在配置SPI

使用特权

评论回复
10
sinomchen| | 2012-3-1 13:40 | 只看该作者
你的采样边沿不对,把采样边沿改为第2个就可以啦

使用特权

评论回复
11
风走孤寒| | 2012-3-9 15:26 | 只看该作者
有可能是你通过脉冲读数有问题,是第一边沿还是第二边沿?

使用特权

评论回复
12
it_yrj| | 2015-12-23 13:09 | 只看该作者
贝多芬爵士 发表于 2011-10-7 16:10
我的好像解决了,发送延时一下,还有先初始化时钟,再配置端口,在配置SPI ...

发送字节之间需要延时多久呢?

使用特权

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

本版积分规则

0

主题

116

帖子

1

粉丝