STM32的SPI接收数据不正确

[复制链接]
9646|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短接,自发自收
 楼主| lwj006 发表于 2011-7-28 12:29 | 显示全部楼层
谢谢楼上们的好心回答,我自发自收已经成功。:)
 楼主| lwj006 发表于 2011-7-28 12:32 | 显示全部楼层
5# caner_hn
谢谢您的回答,我自发自收已经成功,呵呵,我想问一下,用两个M3不能单步调试SPI吗(⊙_⊙)?为什么会死机呢?谢谢!
caner_hn 发表于 2011-7-29 20:23 | 显示全部楼层
全速跑,单步调试很多问题,用示波器测CS,SCLK,SDAT信号
贝多芬爵士 发表于 2011-10-6 21:51 | 显示全部楼层
我也遇到了这个问题了,请问楼主怎么解决的啊??
贝多芬爵士 发表于 2011-10-7 16:10 | 显示全部楼层
我的好像解决了,发送延时一下,还有先初始化时钟,再配置端口,在配置SPI
sinomchen 发表于 2012-3-1 13:40 | 显示全部楼层
你的采样边沿不对,把采样边沿改为第2个就可以啦
风走孤寒 发表于 2012-3-9 15:26 | 显示全部楼层
有可能是你通过脉冲读数有问题,是第一边沿还是第二边沿?
it_yrj 发表于 2015-12-23 13:09 | 显示全部楼层
贝多芬爵士 发表于 2011-10-7 16:10
我的好像解决了,发送延时一下,还有先初始化时钟,再配置端口,在配置SPI ...

发送字节之间需要延时多久呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

116

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部