<?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>S12 / MagniV MicrocontrollersのトピックRe: S12xDP512 SPI problem</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12xDP512-SPI-problem/m-p/138742#M2814</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi Mac,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thank you very much. That has sorted out the problem and all is working fine.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thank you again.&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Richard&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 01 Dec 2006 21:55:37 GMT</pubDate>
    <dc:creator>Tricky</dc:creator>
    <dc:date>2006-12-01T21:55:37Z</dc:date>
    <item>
      <title>S12xDP512 SPI problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12xDP512-SPI-problem/m-p/138738#M2810</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I am trying to communicate with a MAX7219 over spi from the above CPU with a 16bit transfer.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The 7219 nees the /SS pin to go high after the 16th bit to latch the data, for this reason i cannot use the&amp;nbsp;/SS pin under cpu control.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I&amp;nbsp;am now trying to&amp;nbsp;manually set the /SS port pin with the following code. The /SS is set to an output.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;//SPI Setup - Done at startup&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;SPI0CR1 = 0x50;&lt;BR /&gt;&amp;nbsp;SPI0CR2 = 0x00;&lt;BR /&gt;&amp;nbsp;SPI0BR = 0x05;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// Spi TX function&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;U8 i = 0&lt;BR /&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// Select the 7129&lt;BR /&gt;&amp;nbsp;DioROT6.Bits.LED_CS = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;// Send Data&lt;BR /&gt;&amp;nbsp;&amp;nbsp;for(i = 0; i &amp;lt; 2;i ++)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI0DR = 0x0B;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(!(SPI0SR &amp;amp; 0x20));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// Deslect the 7219&lt;BR /&gt;&amp;nbsp;DioROT6.Bits.LED_CS = 1;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;But for some reason the /SS port pin is going hi (deselecting) after the first byte has been sent. It would appear that the second test if the tx buffer is empty is not working.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Can anyone see why this would be the case or what i could be doing wrong?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;R&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Dec 2006 18:15:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12xDP512-SPI-problem/m-p/138738#M2810</guid>
      <dc:creator>Tricky</dc:creator>
      <dc:date>2006-12-01T18:15:34Z</dc:date>
    </item>
    <item>
      <title>Re: S12xDP512 SPI problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12xDP512-SPI-problem/m-p/138739#M2811</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi Mac,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Many thanks for your reply.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I am not actually reciving any byte back from the device i am only sending it data.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Is there anyway to know i have actually sent the second byte sucessfully without recieving a byte back?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;Richard&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Dec 2006 20:26:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12xDP512-SPI-problem/m-p/138739#M2811</guid>
      <dc:creator>Tricky</dc:creator>
      <dc:date>2006-12-01T20:26:33Z</dc:date>
    </item>
    <item>
      <title>Re: S12xDP512 SPI problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12xDP512-SPI-problem/m-p/138740#M2812</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Hello R,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;I think&amp;nbsp;your problem is that you wait for the transmit buffer to empty for each byte, but you do not wait until the second byte has actually been transmitted, before raising the /SS signal.&amp;nbsp; To do this, you&amp;nbsp;should monitor the SPI (receive) flag, and wait until it is set, to ensure that the returned byte is complete, and hence the forward&amp;nbsp;transmission is also complete.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;You might place the following line immediately after the &lt;FONT face="Courier New"&gt;for&lt;/FONT&gt; loop exits -&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;while(!(SPI0SR &amp;amp; 0x80));&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;You will also need to read the SPI0DR register in order to clear the flag.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Regards,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Mac&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Dec 2006 20:30:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12xDP512-SPI-problem/m-p/138740#M2812</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2006-12-01T20:30:59Z</dc:date>
    </item>
    <item>
      <title>Re: S12xDP512 SPI problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12xDP512-SPI-problem/m-p/138741#M2813</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Hello R,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;The SPI flag will become set after eight clock pulses have been&amp;nbsp;generated by the master (the MCU).&amp;nbsp; It does not matter whether or not you are using the return data from the slave.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Regards,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Mac&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Dec 2006 20:36:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12xDP512-SPI-problem/m-p/138741#M2813</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2006-12-01T20:36:34Z</dc:date>
    </item>
    <item>
      <title>Re: S12xDP512 SPI problem</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12xDP512-SPI-problem/m-p/138742#M2814</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi Mac,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thank you very much. That has sorted out the problem and all is working fine.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thank you again.&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Richard&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Dec 2006 21:55:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12xDP512-SPI-problem/m-p/138742#M2814</guid>
      <dc:creator>Tricky</dc:creator>
      <dc:date>2006-12-01T21:55:37Z</dc:date>
    </item>
  </channel>
</rss>

