<?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>8-bit MicrocontrollersのトピックRe: Slave select control with two SPI slaves HCS08AW60</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Slave-select-control-with-two-SPI-slaves-HCS08AW60/m-p/138556#M5000</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Hello Colin,&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;To keep the SPI operation simple and straightforward, I would suggest that, for each byte sent, you wait until the SPRF flag becomes set, and then read the SPI1D register to clear the flag.&amp;nbsp; This will prevent an overrun error, and would apply even though you are not using the MISO data.&amp;nbsp; This will also ensure that each transaction is completed before you commence a new transaction, to whichever&amp;nbsp;slave device.&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;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by bigmac on &lt;SPAN class="date_text"&gt;2007-06-29&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;05:35 AM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 29 Jun 2007 02:32:56 GMT</pubDate>
    <dc:creator>bigmac</dc:creator>
    <dc:date>2007-06-29T02:32:56Z</dc:date>
    <item>
      <title>Slave select control with two SPI slaves HCS08AW60</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Slave-select-control-with-two-SPI-slaves-HCS08AW60/m-p/138555#M4999</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have an HCS08AW60 with two slaves on the SPI bus. The slaves are write only so the SPI clock and MOSI are common to both and I have GPIO set up to control the slave selects. The slaves are identical and accept 24-bit commands.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I wrote some simple code to check out the SPI bus hardware and everything is fine; I can write to the devices.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;My bring-up code does the following:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Assert SS for the relevant device.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Write three bytes with spinlock waits on the transmit buffer empty flag.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3. Leave SS asserted for the device.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;That is working fine. The problem is when I want to send a second command. There is no receive buffer full flag to tell me that the SPI transaction is completed and the SS can be de-asserted.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It looks like I will have to use a timer to pace the transactions.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I wondered if there is something I am missing? Is there some state information on the transmit shift register that I could read?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Any advice is welcome. There will be a spin of the board for other reasons, so I can change the hardware if that would get around this problem.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Colin.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jun 2007 20:12:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Slave-select-control-with-two-SPI-slaves-HCS08AW60/m-p/138555#M4999</guid>
      <dc:creator>ColinHall</dc:creator>
      <dc:date>2007-06-28T20:12:27Z</dc:date>
    </item>
    <item>
      <title>Re: Slave select control with two SPI slaves HCS08AW60</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Slave-select-control-with-two-SPI-slaves-HCS08AW60/m-p/138556#M5000</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Hello Colin,&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;To keep the SPI operation simple and straightforward, I would suggest that, for each byte sent, you wait until the SPRF flag becomes set, and then read the SPI1D register to clear the flag.&amp;nbsp; This will prevent an overrun error, and would apply even though you are not using the MISO data.&amp;nbsp; This will also ensure that each transaction is completed before you commence a new transaction, to whichever&amp;nbsp;slave device.&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;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by bigmac on &lt;SPAN class="date_text"&gt;2007-06-29&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;05:35 AM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Jun 2007 02:32:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Slave-select-control-with-two-SPI-slaves-HCS08AW60/m-p/138556#M5000</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2007-06-29T02:32:56Z</dc:date>
    </item>
  </channel>
</rss>

