<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic K60 120MHz SPI can't read the data received. in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-120MHz-SPI-can-t-read-the-data-received/m-p/263563#M8279</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm tying to communicate the SPI0 with a Digital potentiometer AD5293, I send it the commands from SPI0 but when the digital potentiometer sends me its status I can't read in the POP register, It appears empty but I see the correct data in the oscilloscope that the digital potentiometer sends me. When I go to see the value in POP register its content is empty or the value or data isn't correct. When I'm debugging the code first I send a command to write the resistance for this Potentiometer, second I hope to receive the correct data that it sends me but this isn't.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What is happening with the POP register?? or How I can fix it? I wait for yours answers.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 03 Oct 2013 16:52:56 GMT</pubDate>
    <dc:creator>ivanrobles</dc:creator>
    <dc:date>2013-10-03T16:52:56Z</dc:date>
    <item>
      <title>K60 120MHz SPI can't read the data received.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-120MHz-SPI-can-t-read-the-data-received/m-p/263563#M8279</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm tying to communicate the SPI0 with a Digital potentiometer AD5293, I send it the commands from SPI0 but when the digital potentiometer sends me its status I can't read in the POP register, It appears empty but I see the correct data in the oscilloscope that the digital potentiometer sends me. When I go to see the value in POP register its content is empty or the value or data isn't correct. When I'm debugging the code first I send a command to write the resistance for this Potentiometer, second I hope to receive the correct data that it sends me but this isn't.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What is happening with the POP register?? or How I can fix it? I wait for yours answers.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Oct 2013 16:52:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-120MHz-SPI-can-t-read-the-data-received/m-p/263563#M8279</guid>
      <dc:creator>ivanrobles</dc:creator>
      <dc:date>2013-10-03T16:52:56Z</dc:date>
    </item>
    <item>
      <title>Re: K60 120MHz SPI can't read the data received.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-120MHz-SPI-can-t-read-the-data-received/m-p/263564#M8280</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ivan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Would you mind posting some of your code so that I may see how you are initializing your SPI0 and how you are getting data from SPI0_POPR? Thank you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, you may want to try the method in the following function for reading SPI0 data:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_13808233014767107" jivemacro_uid="_13808233014767107" modifiedtitle="true"&gt;
&lt;P&gt;uint32_t dspi_rx(void)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; while((SPI0_BASE_PTR-&amp;gt;SR &amp;amp; SPI_SR_RFDF_MASK) == 0)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Do Nothing&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (SPI0_BASE_PTR-&amp;gt;POPR &amp;amp; 0xFFFFFFFF);&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know if that helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Martyn&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Oct 2013 18:05:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-120MHz-SPI-can-t-read-the-data-received/m-p/263564#M8280</guid>
      <dc:creator>martynhunt</dc:creator>
      <dc:date>2013-10-03T18:05:40Z</dc:date>
    </item>
    <item>
      <title>Re: K60 120MHz SPI can't read the data received.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-120MHz-SPI-can-t-read-the-data-received/m-p/263565#M8281</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This function config the spi module:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void SpiConfig(uint08 u08SPIModule, uint08 u08SPIMode, uint08 u08SPIInterruptEnable,&amp;nbsp; uint08 u08SPICpol, uint08 u08SPICpha, uint08 u08SPIFrameSizeSlave, uint08 u08SPIBRPrescaler, uint08 u08SPIBRScaler)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; switch(u08SPIModule)&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 0 :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* clock gate */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; SIM_SCGC6 |= SIM_SCGC6_DSPI0_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; /* pin mux */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTA_PCR14 &amp;amp;= ~PORT_PCR_MUX_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTA_PCR14 |= PORT_PCR_MUX(2); //SPI0_PCS0&amp;nbsp;&amp;nbsp; //PTC4, PTE16, PTD0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTA_PCR15 &amp;amp;= ~PORT_PCR_MUX_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTA_PCR15 |= PORT_PCR_MUX(2); //SPI0_SCK&amp;nbsp;&amp;nbsp;&amp;nbsp; //PTC5, PTD1, PTE17&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTA_PCR16 &amp;amp;= ~PORT_PCR_MUX_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTA_PCR16 |= PORT_PCR_MUX(2); //SPI0_SOUT&amp;nbsp;&amp;nbsp; //PTC6, PTD2, PTE18&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTA_PCR17 &amp;amp;= ~PORT_PCR_MUX_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTA_PCR17 |= PORT_PCR_MUX(2); //SPI0_SIN&amp;nbsp;&amp;nbsp;&amp;nbsp; //PTC7, PTD3, PTE19&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; break; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 1 :&amp;nbsp; /* clock gate */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; SIM_SCGC6 |= SIM_SCGC6_DSPI1_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; SIM_SCGC5 |= SIM_SCGC5_PORTB_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; /* pin mux */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTB_PCR10 &amp;amp;= ~PORT_PCR_MUX_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTB_PCR10 |= PORT_PCR_MUX(2); //SPI1_PCS0&amp;nbsp;&amp;nbsp; //PTE4 &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTB_PCR11 &amp;amp;= ~PORT_PCR_MUX_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTB_PCR11 |= PORT_PCR_MUX(2); //SPI1_SCK&amp;nbsp;&amp;nbsp;&amp;nbsp; //PTE2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTB_PCR16 &amp;amp;= ~PORT_PCR_MUX_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTB_PCR16 |= PORT_PCR_MUX(2); //SPI1_SOUT&amp;nbsp;&amp;nbsp; //PTE1, PTE3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTB_PCR17 &amp;amp;= ~PORT_PCR_MUX_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTB_PCR17 |= PORT_PCR_MUX(2); //SPI1_SIN&amp;nbsp;&amp;nbsp;&amp;nbsp; //PTE1, PTE3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 2 :&amp;nbsp; /* clock gate */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; SIM_SCGC3 |= SIM_SCGC3_DSPI2_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; SIM_SCGC5 |= SIM_SCGC5_PORTD_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; /* pin mux */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTD_PCR11 &amp;amp;= ~PORT_PCR_MUX_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTD_PCR11 |= PORT_PCR_MUX(2); //SPI2_PCS0&amp;nbsp;&amp;nbsp; //PTF16, PTB20 &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTD_PCR12 &amp;amp;= ~PORT_PCR_MUX_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTD_PCR12 |= PORT_PCR_MUX(2); //SPI2_SCK&amp;nbsp;&amp;nbsp;&amp;nbsp; //PTF17, PTB21&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTD_PCR13 &amp;amp;= ~PORT_PCR_MUX_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTD_PCR13 |= PORT_PCR_MUX(2); //SPI2_SOUT&amp;nbsp;&amp;nbsp; //PTF18, PTB22&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTD_PCR14 &amp;amp;= ~PORT_PCR_MUX_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTD_PCR14 |= PORT_PCR_MUX(2); //SPI2_SIN&amp;nbsp;&amp;nbsp;&amp;nbsp; //PTF19, PTB23&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ptrSPI[u08SPIModule]-&amp;gt;MCR = SPI_MCR_INITIAL_STATE;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //set initial state 0x0010001&lt;/P&gt;&lt;P&gt;&amp;nbsp; ptrSPI[u08SPIModule]-&amp;gt;CTAR[0] = SPI_CTAR0_INITIAL_STATE; //set initial state 0x0000000&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ptrSPI[u08SPIModule]-&amp;gt;MCR |= SPI_MCR_MSTR(u08SPIMode); //Configure the module as Master or Slave&amp;nbsp; mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (u08SPIMode == 0 ) &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptrSPI[u08SPIModule]-&amp;gt;CTAR_SLAVE[0] |= SPI_CTAR_SLAVE_CPHA(u08SPICpha) | SPI_CTAR_SLAVE_CPOL(u08SPICpol) | SPI_CTAR_SLAVE_FMSZ(u08SPIFrameSizeSlave) ;//Configure as Slave Mode with all parameters for configuration.&lt;/P&gt;&lt;P&gt;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptrSPI[u08SPIModule]-&amp;gt;CTAR[0] |= SPI_CTAR_CPHA(u08SPICpha) | SPI_CTAR_CPOL(u08SPICpol) | SPI_CTAR_PBR(u08SPIBRPrescaler) |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_CTAR_BR(u08SPIBRScaler);&amp;nbsp; //Configure as Master Mode with all parameters for configuration.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(u08SPIInterruptEnable == 1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Check if interrupts will be enabled&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SpiInterruptInit(u08SPIModule);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Enable interrupt in SPIx module&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt; } //end switch case &lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;} //end function&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With this function I receive the data, but the data is saving in the interrupt for SPI0. I add the function interrupt SPI0 ISR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void SpiMasterReceiveData(uint32 u32SPIValueData[], uint08 u08SPINbytes, uint08 u08SPIModule, uint16 u16SPIDummy[]) &lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; uint08 i=0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u08spi_rx_Nbytes_Flag = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //u16SPI_TX_BUFFER = u08Dummy;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0 ; i &amp;lt; u08SPINbytes ; i++)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SpiMasterSendData(u16SPIDummy,1,u08SPIModule,0x0F);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(u08SpiRxflag == 0){}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //while(Is_busy());&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0; i&amp;lt; u08SPINbytes; i++)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; u32SPIValueData[i] = u32SPI_RX_BUFFER[i];&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u08spi_rx_index = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i=0; &lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void SPI0_ISR(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; uint32 u32SpiValueRec;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u08SpiRxflag = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u08spi_rx_Nbytes_Flag = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(!(SPI0_SR &amp;amp; SPI_SR_TCF_MASK)){}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u32SpiValueRec = ptrSPI[SPI0]-&amp;gt;POPR ;&amp;nbsp;&amp;nbsp; //read data &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u32SPI_RX_BUFFER[u08spi_rx_index] = u32SpiValueRec;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptrSPI[SPI0]-&amp;gt;SR = 0xFFFF0000; //clear Interrupt flag of SPI0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptrSPI[SPI0]-&amp;gt;MCR |= SPI_MCR_HALT_MASK; //stop transmission&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u08spi_rx_index++; //Increments the index of the Rx Buffer&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Oct 2013 20:27:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-120MHz-SPI-can-t-read-the-data-received/m-p/263565#M8281</guid>
      <dc:creator>ivanrobles</dc:creator>
      <dc:date>2013-10-03T20:27:37Z</dc:date>
    </item>
    <item>
      <title>Re: K60 120MHz SPI can't read the data received.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-120MHz-SPI-can-t-read-the-data-received/m-p/263566#M8282</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have other case: &lt;/P&gt;&lt;P&gt;I can read but I don't know what's happening when the microcontroller saves the data in a global variable from SPI0_POPR. The problem is the SPI0_POPR doesn't keep the value that is enter throught SIN. I can see the MISO signal in the oscilloscope and the data that entry is correct but I can't see in the register POP.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Oct 2013 20:52:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-120MHz-SPI-can-t-read-the-data-received/m-p/263566#M8282</guid>
      <dc:creator>ivanrobles</dc:creator>
      <dc:date>2013-10-03T20:52:17Z</dc:date>
    </item>
    <item>
      <title>Re: K60 120MHz SPI can't read the data received.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-120MHz-SPI-can-t-read-the-data-received/m-p/263567#M8283</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ivan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you are enabling Spi Interrupts in your program, you need to enable the SPI interrupt corresponding to SPI0 or SPI1 in NVIC as well. Then You need to add the vector location of this interrupt in your code. After this put a breakpoint in your Receive ISR and check if the program does indeed come to your ISR. And then read the value of POP register.&lt;/P&gt;&lt;P&gt; I am attaching a sample code and Kinetis_sys_init file which has an example of ISR Vector for SPI. The attached files are for K10 but most of it should be same for K60 as well. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Oct 2013 04:39:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-120MHz-SPI-can-t-read-the-data-received/m-p/263567#M8283</guid>
      <dc:creator>nasreenshaikh</dc:creator>
      <dc:date>2013-10-04T04:39:50Z</dc:date>
    </item>
    <item>
      <title>Re: K60 120MHz SPI can't read the data received.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-120MHz-SPI-can-t-read-the-data-received/m-p/263568#M8284</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't have problem whit the interrupt, it is ok. The interrupt is executing all the time, I think the problem is my digital potentiometer AD5293 because If I don't send the dummy the potentiometer always is sending its data for this reason I think that I can't read well. The PoP regsiter always is updating and I think for this reason the pop register doesn't keep the data.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Oct 2013 15:49:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-120MHz-SPI-can-t-read-the-data-received/m-p/263568#M8284</guid>
      <dc:creator>ivanrobles</dc:creator>
      <dc:date>2013-10-04T15:49:32Z</dc:date>
    </item>
    <item>
      <title>Re: K60 120MHz SPI can't read the data received.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-120MHz-SPI-can-t-read-the-data-received/m-p/263569#M8285</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ivan,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Going through the AD5293 I found that the Potentiometer sends data if the Slave select is low and sclk is available and for command 0x0000. Configure the Salve select as GPIO and pull it high and see If you still get data continously in POP register.Next check that your K60 sends clock pulses only when it is transmitting and reading data and not continously. Check the following bits in debug mode in SPI_MCR register --&amp;gt;CONT_SCKE, PCSSE, PCSIS[5:0].&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Oct 2013 05:20:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-120MHz-SPI-can-t-read-the-data-received/m-p/263569#M8285</guid>
      <dc:creator>nasreenshaikh</dc:creator>
      <dc:date>2013-10-07T05:20:44Z</dc:date>
    </item>
  </channel>
</rss>

