FRDM-KW38,SPI1修改为SPI0之后,就一直跑不通

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FRDM-KW38,SPI1修改为SPI0之后,就一直跑不通

1,109 Views
Yunping
Contributor I

我现在在使用两块KW38的板子,使用了SPI demo,一个做master,一个做Slave,如果使用SDK中的例子,Master能够正常和Slave通过SPI交互消息,但是我将Master中的SPI1更改为SPI0,

CLOCK_EnableClock(kCLOCK_PortC);

 

/* PORTC16 (pin 45) is configured as SPI0_SCK */

PORT_SetPinMux(PORTC, 16U, kPORT_MuxAlt2);

 

/* PORTC17 (pin 46) is configured as SPI0_SOUT */

PORT_SetPinMux(PORTC, 17U, kPORT_MuxAlt2);

 

/* PORTC18 (pin 47) is configured as SPI0_SIN */

PORT_SetPinMux(PORTC, 18U, kPORT_MuxAlt2);

 

/* PORTC19 (pin 48) is configured as SPI0_PCS0 */

PORT_SetPinMux(PORTC, 19U, kPORT_MuxAlt2);

 

#define EXAMPLE_DSPI_MASTER_BASEADDR SPI0

#define EXAMPLE_DSPI_MASTER_DMA_MUX_BASEADDR DMAMUX0

#define EXAMPLE_DSPI_MASTER_DMA_BASEADDR DMA0

#define EXAMPLE_DSPI_MASTER_DMA_RX_REQUEST_SOURCE kDmaRequestMux0SPI0Rx

#define EXAMPLE_DSPI_MASTER_DMA_TX_REQUEST_SOURCE kDmaRequestMux0SPI0Tx

#define DSPI_MASTER_CLK_SRC DSPI0_CLK_SRC

#define DSPI_MASTER_CLK_FREQ CLOCK_GetFreq(DSPI0_CLK_SRC)

#define EXAMPLE_DSPI_MASTER_PCS_FOR_INIT kDSPI_Pcs0

#define EXAMPLE_DSPI_MASTER_PCS_FOR_TRANSFER kDSPI_MasterPcs0

#define EXAMPLE_DSPI_DEALY_COUNT 0xfffffU

#define TRANSFER_SIZE 64U /* Transfer dataSize */

#define TRANSFER_BAUDRATE 500000U /* Transfer baudrate - 500k */

就一直跑不通,Master根本就没有将消息扔给Slave,我还需要做哪些步骤能够保证修改后的例子能够正常通信

0 Kudos
Reply
2 Replies

964 Views
Yunping
Contributor I

demo里面有一个read.me,那里面有管教链接的方法,你使用那个里面介绍的接线方法,应该可以正常通信

0 Kudos
Reply

1,044 Views
lfl
Contributor I

您好,打扰一下,我这边也是使用两块KW38的板子,使用了driver_examples/dspi/edma_b2b_transfer or interrupt_b2b,一个做master,一个做Slave,但发现Slave端均触发不了DSPI_SlaveTransferHandleIRQ接收中断,接收不到数据。能问您一下,您调试时除了连接如下5个pin脚外,还额外连接了什么pin脚不?

DSPI_master -- DSPI_slave
CLK -- CLK
PCS -- PCS
SOUT -- SIN
SIN -- SOUT
GND -- GND

0 Kudos
Reply