AnsweredAssumed Answered

SPI receive interrupt on KL27

Question asked by rick stuart on Jul 8, 2015
Latest reply on Jul 8, 2015 by Jorge_Gonzalez

Hi,

 

I have two FRDM-KL27Z development boards.  They are connected using the SPI0 port.  One is master and the other slave.  I can send/receive 16bit data between them using polling.  Now I need to change the slave to receive 2 8bit bytes.  Polling is not fast enough anymore.  I keep missing the second 8bit byte.  So I want to try using receive interrupts on the slave.  But so far I am getting no interrupts.  The 2 SPI configuration registers are set up as such:

 

  SPI0->C1 = SPI_C1_SPIE_MASK | SPI_C1_SPE_MASK | SPI_C1_CPHA_MASK | SPI_C1_SSOE_MASK;

  SPI0->C2 = SPI_C2_MODFEN_MASK;

 

And I'm using SPI0_IRQHandler() as the name of the SPI0 interrupt handler.  This is defined in the Freescale startup_MKL27Z644.s file.  That file has this header for identification:

 

; ---------------------------------------------------------------------------------------

;  @file:    startup_MKL27Z644.s

;  @purpose: CMSIS Cortex-M0P Core Device Startup File

;            MKL27Z644

;  @version: 1.4

;  @date:    2014-9-22

;  @build:   b140923

; ---------------------------------------------------------------------------------------

 

I had thought setting the SPI_C1_SPIE_MASK bit would enable the receive SPI interrupt.  But it looks like the interrupt is never getting called.

 

-thanks

Outcomes