鹰凖明 发表于 2015-9-10 11:15:39

am335x芯片的SPI通信配置应该怎么设置?

am335x芯片的SPI通信配置应该怎么设置?我这边有一块STM32单片机与am335x嵌入式系统进行SPI通信,现在通信的过程中是接到的数据都有错位现象,比如我STM32发的0x0606,嵌入式会接到0x6060,嵌入式发给STM32的数据又是不对的。STM32芯片与同款的STM32芯片进行SPI通信则没问题。请问是不是am335x芯片的SPI通信配置有误?还是其它问题?应该怎么解决呢?在线等各位高手指点明津!感激不尽!

zouzhichao 发表于 2015-9-10 11:32:36

估计楼主lsb msb配置搞反了

zouzhichao 发表于 2015-9-10 11:33:32

把stm32的lsb msb配置反过来即可

zouzhichao 发表于 2015-9-10 11:37:12

SPI_FirstBit_MSB或者SPI_First Bit_LSB互换一下

鹰凖明 发表于 2015-9-10 15:22:18

zouzhichao 发表于 2015-9-10 11:37
SPI_FirstBit_MSB或者SPI_First Bit_LSB互换一下

反过来了,数据还是有错位,都不是正确的数据,我上边说的有可能只是其中的一种情况。谢谢您的指导!

zouzhichao 发表于 2015-9-10 17:06:24

那你再贴点数据或者贴个spi配置代码呗,信息太少

monkhooder 发表于 2015-9-10 17:11:36

时钟极性看一下

Ticl4 发表于 2015-9-10 11:15:40

估计是 时钟错位了:SPI通讯常出现这样的问题,
记得每次通讯前才拉低片选线,通讯结束拉高
或者是:不同芯片有时候,SPI相位与极性表述的方式刚好相反,注意检查下

ryq0110 发表于 2015-9-10 20:18:01

spi时序有4种模式,楼主检查一下,保证双方一致。

鹰凖明 发表于 2015-9-11 17:22:03

问题解决了,可能如8楼所说的,不同芯片的时钟极性、相位是不一样的,只能一个一个的试,看来SPI通信中如果其它配置没问题,又能接到数据的话,出现问题的概率还是在时钟那边。感谢各位热心网友的指导,谢谢!

monkhooder 发表于 2015-9-11 21:40:40

鹰凖明 发表于 2015-9-11 17:22
问题解决了,可能如8楼所说的,不同芯片的时钟极性、相位是不一样的,只能一个一个的试,看来SPI通信中如果 ...

太小气啦,都不给我分点儿莫元奖励奖励

NJ8888 发表于 2015-9-11 22:05:55

monkhooder 发表于 2015-9-11 21:40
太小气啦,都不给我分点儿莫元奖励奖励

楼主莫元太少
页: [1]
查看完整版本: am335x芯片的SPI通信配置应该怎么设置?