AnsweredAssumed Answered

CLEV663B + STM32 + FREERTOS  spi通信问题 求助——万分感谢

Question asked by f lc on Jan 22, 2018

目前我使用  CLEV663B + STM32 + FREERTOS 来做一个项目,但是目前stm32的spi通信始终和用树莓派+rc663+spi 通信不一样:(采用例程一BasicDiscoveryLoop)版本是(V05.02.00)

 

我spi时钟用的是2.25M   买的663样板是 blueboard 3.0

 

这边我的spi的CE脚是人为控制的,不知道这个会不会有影响。

能给我错误的可能性的方向也可以,十分谢谢

 

一下是spi通信的一开始部分的数据(一开始就有出错)

BasicDiscoveryLoop Example:
flc_Tx=0x10
flc_Tx=0x0
flc_Rx=0xff
flc_Rx=0x10

 

flc_Tx=0x51
flc_Tx=0x0
flc_Rx=0x0
flc_Rx=0x86

 

flc_Tx=0x50
flc_Tx=0x86
flc_Rx=0x40
flc_Rx=0x86

 

flc_Tx=0x7e
flc_Tx=0xc0
flc_Rx=0x86
flc_Rx=0x48

 

flc_Tx=0x80
flc_Tx=0xff
flc_Rx=0xc0
flc_Rx=0x12

 

flc_Tx=0x82
flc_Tx=0xc0
flc_Rx=0xff
flc_Rx=0x88

 

flc_Tx=0x0
flc_Tx=0x0
flc_Rx=0xc0
flc_Rx=0x40

 

flc_Tx=0x5
flc_Tx=0x0
flc_Rx=0x0
flc_Rx=0xa0

 

flc_Tx=0x4
flc_Tx=0xb0
flc_Rx=0x0
flc_Rx=0xa0


flc_Tx=0xc
flc_Tx=0x7f
flc_Rx=0xb0
flc_Rx=0x30

 

flc_Tx=0xe
flc_Tx=0x7f
flc_Rx=0x7f
flc_Rx=0x20

 

flc_Tx=0x9
flc_Tx=0x0
flc_Rx=0x7f
flc_Rx=0x0

 

flc_Tx=0xa
flc_Tx=0x0
flc_Tx=0x0
flc_Tx=0x2


flc_Rx=0x0
flc_Rx=0x0
flc_Rx=0x1
flc_Rx=0x20

 

flc_Tx=0x0       // 2094 /* start the command */ 之前接受都一样 write
flc_Tx=0xa
flc_Rx=0x0      //这里不一样  树莓派是0x2
flc_Rx=0x2      //这里不一样  树莓派是0x0,但是这是一个write,应该不影响


WaitIrq
flc_Tx=0x11
flc_Tx=0x0
flc_Rx=0x0
flc_Rx=0xa     //这里读取irq0en   树莓派是0

 

flc_Tx=0x10    
flc_Tx=0x50
flc_Rx=0x0
flc_Rx=0x0

 

flc_Tx=0x12 
flc_Tx=0xc0
flc_Rx=0x0
flc_Rx=0x50


pend_while


flc_Tx=0x10
flc_Tx=0x0
flc_Rx=0x0
flc_Rx=0xc0

 

flc_Tx=0x12 
flc_Tx=0xc0
flc_Rx=0x50
flc_Rx=0x0

 

flc_Tx=0xf 
flc_Tx=0x0
flc_Rx=0xc0
flc_Rx=0xc0

 

flc_Tx=0xd 
flc_Tx=0x0
flc_Rx=0x0
flc_Rx=0x0


get_irq
flc_Tx=0x9      //这个是一个read
flc_Tx=0x0
flc_Rx=0x30   //到这边  收到的应该是0x0 和0x02
flc_Rx=0x00   //这里不是0x02 会导致代码出错,无法继续跑下去

Outcomes