<?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 Re: _lwsem_post problem on 32Bit SPI slave ISR in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270224#M9105</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tom,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for sharing your code!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have noticed that you clear SPI2_MCR bit RXF twice. May I ask why?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I haven't got mine working yet. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Bye for now.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lisa&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 23 May 2013 21:53:51 GMT</pubDate>
    <dc:creator>lisa_tx</dc:creator>
    <dc:date>2013-05-23T21:53:51Z</dc:date>
    <item>
      <title>_lwsem_post problem on 32Bit SPI slave ISR</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270217#M9098</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;HELP&lt;/STRONG&gt;! :smileysad:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Running a K20dx256 using CW10.3 / MQX4.0&lt;/LI&gt;&lt;LI&gt;I have a 32 bit SPI slave generating an interrupt when the RX buffer is not empty (RFDF bit in SPI2_SR)&lt;/LI&gt;&lt;LI&gt;Everything works fine until I _lwsem_post in the SPI ISR then _lwsem_wait in a task. When I do this I get a 'ivINT_Hard_Fault'. No fun...&lt;/LI&gt;&lt;LI&gt;When I replace the ISR with a simple loop that reads the RFDF bit in SPI2_SR, the _lwsem_post &amp;amp; _lwsem_wait &lt;STRONG&gt;work fine&lt;/STRONG&gt;. This makes me think it is the way I handle the SPI RFDF interrupt. But the interrupts &lt;STRONG&gt;work fine&lt;/STRONG&gt; without the lw semaphore. ???&lt;/LI&gt;&lt;LI&gt;I built my own 32Bit SPI slave driver because MQX and PE don't support 32Bit slave interrupts. This works great without the lwSem stuff, but I need a semaphore. &lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;If anyone has a clue or idea as to what my problem is, please fire away.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Apr 2013 21:30:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270217#M9098</guid>
      <dc:creator>cavebiker</dc:creator>
      <dc:date>2013-04-16T21:30:03Z</dc:date>
    </item>
    <item>
      <title>Re: _lwsem_post problem on 32Bit SPI slave ISR</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270218#M9099</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;UL&gt;&lt;LI&gt;Putting a breakpoint just before the _lwsem_wait gets rid of the problem.&lt;/LI&gt;&lt;LI&gt;Putting a _time_delay(100) just before the _lwsem_wait gets rid of the problem.&lt;/LI&gt;&lt;LI&gt;Putting a _time_delay(20) just before the _lwsem_wait does &lt;STRONG&gt;Not&lt;/STRONG&gt; gets rid of the problem.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Has anyone seen this type of weirdness?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Apr 2013 19:11:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270218#M9099</guid>
      <dc:creator>cavebiker</dc:creator>
      <dc:date>2013-04-17T19:11:25Z</dc:date>
    </item>
    <item>
      <title>Re: _lwsem_post problem on 32Bit SPI slave ISR</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270219#M9100</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;lwevent_ works. So I'm over it, but I would still like to know what up with _lwsem_.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Cheers,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Tom&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Apr 2013 19:01:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270219#M9100</guid>
      <dc:creator>cavebiker</dc:creator>
      <dc:date>2013-04-26T19:01:20Z</dc:date>
    </item>
    <item>
      <title>Re: _lwsem_post problem on 32Bit SPI slave ISR</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270220#M9101</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tom,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have K60F120M tower demo board. I use SPI1 as slave. I have tried both 16-bit word and 32-bit word data. I have no problem to use lwsem to notify main task. My problem is after first four words, the received data repeat the fourth data word. SPI has 4 word FIFO. I suspect the problem I have is related to FIFO set/clear. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lisa &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 May 2013 23:41:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270220#M9101</guid>
      <dc:creator>lisa_tx</dc:creator>
      <dc:date>2013-05-22T23:41:49Z</dc:date>
    </item>
    <item>
      <title>Re: _lwsem_post problem on 32Bit SPI slave ISR</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270221#M9102</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey Lisa,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you may be correct about the FIFO clear. In my 32-bit SPI ISR I clear the FIFO counter after I read in the 32 bits. so I'm back looking at the 1st FIFO, which should be the next to fill up. &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;&amp;nbsp;&amp;nbsp; SPI2_SR |= SPI_SR_RFDF_MASK | SPI_SR_RFOF_MASK ;&amp;nbsp; //Clear SPI2 slave interrupt&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI2_MCR&amp;nbsp; |= (1UL &amp;lt;&amp;lt;&amp;nbsp; SPI_MCR_CLR_RXF_SHIFT);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Clear RXFIFO counter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So I get two interrupts to get 32 bits, filling up FIFO #1 &amp;amp; #2. Then I clear FIFO counter as above.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this helps.&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 May 2013 14:53:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270221#M9102</guid>
      <dc:creator>cavebiker</dc:creator>
      <dc:date>2013-05-23T14:53:02Z</dc:date>
    </item>
    <item>
      <title>Re: _lwsem_post problem on 32Bit SPI slave ISR</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270222#M9103</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tom,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for help!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have compared SPIx_SR and SPIx_MCR configuration in my spi1_isr(), I didn't clear SPI_SR_RFOF bit before. After reading your post, I have added it to spi1_isr(). Nothing has changed. This is the data received:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;spi1_data = 0x6423&lt;/P&gt;&lt;P&gt;spi1_data = 0x849f&lt;/P&gt;&lt;P&gt;spi1_data = 0x1351&lt;/P&gt;&lt;P&gt;spi1_data = 0x1351&lt;/P&gt;&lt;P&gt;spi1_data = 0x1351&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;Note that since the third word received, its content never change. That is the problem I have. In this example, I use 16-bit word. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below is my current isr function:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void spi1_rec_isr(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NVICICPR0 |= 1 &amp;lt;&amp;lt;27;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI1_SR |= SPI_SR_RFDF_MASK | SPI_SR_RFOF_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spi1_rx_data = SPI1_POPR;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI1_RSER = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI1_MCR |= SPI_MCR_CLR_TXF_MASK | SPI_MCR_CLR_RXF_MASK | SPI_MCR_DIS_TXF_MASK | SPI_MCR_DIS_RXF_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _lwsem_post(&amp;amp;spi1_isr1_lwsem);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you see the problem? Do you mind show your isr function?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks again. &lt;/P&gt;&lt;P&gt;Lisa &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 May 2013 15:50:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270222#M9103</guid>
      <dc:creator>lisa_tx</dc:creator>
      <dc:date>2013-05-23T15:50:48Z</dc:date>
    </item>
    <item>
      <title>Re: _lwsem_post problem on 32Bit SPI slave ISR</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270223#M9104</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey Lisa,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What are you setting SPI1_RSER to signaling the interrupt? this is what I do:&lt;/P&gt;&lt;P&gt;SPI2_RSER = (1UL &amp;lt;&amp;lt; SPI_RSER_RFDF_RE_SHIFT);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // SPI2 interrupt when SPI2 RX FIFO is not empty&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maybe you are clearing too much with SPI1_MRC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is my isr stuff: Good luck :smileyhappy:&lt;/P&gt;&lt;P&gt;{&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;&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; // Build 32-bits.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; SpiMsW = (uint_16)(SPI2_POPR &amp;amp; 0xFFFF);&amp;nbsp;&amp;nbsp;&amp;nbsp; // get SPI data MS_word.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; SpiLsW = (uint_16)(SPI2_POPR &amp;amp; 0xFFFF);&amp;nbsp;&amp;nbsp;&amp;nbsp; // get SPI data LS_word.&lt;/P&gt;&lt;P&gt;&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;&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; SPI2_MCR&amp;nbsp; |= (1UL &amp;lt;&amp;lt;&amp;nbsp; SPI_MCR_CLR_RXF_SHIFT); // clear RXFIFO counter&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; SpiQlxWord = (((SpiMsW &amp;lt;&amp;lt; 16) &amp;amp; 0xFFFF0000) | (SpiLsW &amp;amp; 0x00FFFF));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; CardSpiState.rawSpiInWord = SpiQlxWord;&amp;nbsp;&amp;nbsp; // Save SPI word in private structure&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; _time_get_ticks(&amp;amp;ticks);&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; // Get OS ticks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; CardSpiState.timeIn = ticks.HW_TICKS;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Save ticks time stamp with SPI data&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; // post the lwevent to signal new SPI message is in&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if (_lwevent_set(&amp;amp;lweventSPI,0x01) != MQX_OK)&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; _task_block();&amp;nbsp;&amp;nbsp;&amp;nbsp; // TODO: set a error condition instead if this. &lt;/P&gt;&lt;P&gt;&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; SPI2_SR |= SPI_SR_RFDF_MASK | SPI_SR_RFOF_MASK ;&amp;nbsp; //Clear SPI2 slave interrupt&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI2_MCR&amp;nbsp; |= (1UL &amp;lt;&amp;lt;&amp;nbsp; SPI_MCR_CLR_RXF_SHIFT);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Clear RXFIFO counter&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 May 2013 17:39:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270223#M9104</guid>
      <dc:creator>cavebiker</dc:creator>
      <dc:date>2013-05-23T17:39:02Z</dc:date>
    </item>
    <item>
      <title>Re: _lwsem_post problem on 32Bit SPI slave ISR</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270224#M9105</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tom,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for sharing your code!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have noticed that you clear SPI2_MCR bit RXF twice. May I ask why?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I haven't got mine working yet. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Bye for now.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lisa&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 May 2013 21:53:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270224#M9105</guid>
      <dc:creator>lisa_tx</dc:creator>
      <dc:date>2013-05-23T21:53:51Z</dc:date>
    </item>
    <item>
      <title>Re: _lwsem_post problem on 32Bit SPI slave ISR</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270225#M9106</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;EM style="background-color: #ffffff; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;I have noticed that you clear SPI2_MCR bit RXF twice. May I ask why?&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Ha ha, I saw that also when I was sending the code. I am sure it is not needed to be done twice.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Hope you get it working.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Cheers,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Tom&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 May 2013 14:22:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270225#M9106</guid>
      <dc:creator>cavebiker</dc:creator>
      <dc:date>2013-05-24T14:22:10Z</dc:date>
    </item>
    <item>
      <title>Re: _lwsem_post problem on 32Bit SPI slave ISR</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270226#M9107</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tom,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was suffering a similar problem when using semaphores, and also I have found that using lwevent fixed it (also some timeouts and breakpoints put in "correct places"). I don't have the full explanation (mainly to the cases when it worked), but as you can read&amp;nbsp; on last comments in &lt;A href="https://community.nxp.com/message/549875"&gt;Re: Posting semaphore from SPI IRQ crashes app&lt;/A&gt; it has to be taken into account that semaphores are used to synchronize tasks, while events can also be used to synchronize an ISR and a task.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Only as an idea: maybe were you in the same case as me, this is, a semaphore used to synchronize an ISR and a task and not several different tasks?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;José Antonio Martínez.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Aug 2015 16:16:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/lwsem-post-problem-on-32Bit-SPI-slave-ISR/m-p/270226#M9107</guid>
      <dc:creator>joséantoniomart</dc:creator>
      <dc:date>2015-08-11T16:16:51Z</dc:date>
    </item>
  </channel>
</rss>

