<?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のトピック[Help HCS12] SPI function</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630100#M13467</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I'm a student and I discover the programming on the HCS12.&lt;BR /&gt;After many attempts, I come to ask you to help with the SPI of this microcontroller.&lt;BR /&gt;I want to establish communication between the HCS12 and the DS1306 RTC. However, I cann't write/read the data.&lt;BR /&gt;The code is based on differents examples found.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My code :&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;void SPI0_INIT(void)&lt;BR /&gt;{ &lt;BR /&gt;&amp;nbsp; &amp;nbsp;WOMS =0;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0CR1 = 0x50; // 0b01010000&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0CR2 = 0x00; &lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0BR = 0x02; &lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;void SPI0_WRITE(uchar addr, char data)&lt;BR /&gt;{ &lt;BR /&gt;&amp;nbsp; &amp;nbsp;PORTS_DONNEES &amp;amp;= ~0x7F; &lt;BR /&gt;&amp;nbsp; &amp;nbsp;while(!(SPI0SR &amp;amp; SPI_SPTEF)); // wait until write is permissible&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0DR = addr; // output the byte to the SPI &lt;BR /&gt;&amp;nbsp; &amp;nbsp;while(!(SPI0SR &amp;amp; SPI_SPIF)); // wait until write operation is complete &lt;BR /&gt;&amp;nbsp; &amp;nbsp;PORTS_DONNEES |= 0x80;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;uint SPI0_READ(uchar ad)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PORTS_DONNEES &amp;amp;= ~0x7F;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;while(!(SPI0SR &amp;amp; SPI_SPTEF)); // wait until write is permissible &lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0DR = ad; // trigger eight SCK pulses to shift in data &lt;BR /&gt;&amp;nbsp; &amp;nbsp;while(!(SPI0SR &amp;amp; SPI_SPIF)); // wait until a byte has been shifted in &lt;BR /&gt;&amp;nbsp; &amp;nbsp;PORTS_DONNEES |= 0x80; &lt;BR /&gt;&amp;nbsp; &amp;nbsp;return SPI0DR;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;void main()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; &amp;nbsp;DDRS |=0xE0; &lt;BR /&gt;&amp;nbsp; &amp;nbsp;PORTS_DONNEES |= 0x80; &lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0_INIT();&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;SPI0_WRITE(0x8F);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0_WRITE(0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0_WRITE(0x80);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0_WRITE(0x08);&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;for(;;) &lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0_WRITE(0x80, 0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0_WRITE(0x03, 0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;a=SPI0_READ(0x00);&lt;BR /&gt;&amp;nbsp; } &amp;nbsp;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;Thank,&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 13 Feb 2017 15:49:35 GMT</pubDate>
    <dc:creator>bastbare</dc:creator>
    <dc:date>2017-02-13T15:49:35Z</dc:date>
    <item>
      <title>[Help HCS12] SPI function</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630100#M13467</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I'm a student and I discover the programming on the HCS12.&lt;BR /&gt;After many attempts, I come to ask you to help with the SPI of this microcontroller.&lt;BR /&gt;I want to establish communication between the HCS12 and the DS1306 RTC. However, I cann't write/read the data.&lt;BR /&gt;The code is based on differents examples found.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My code :&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;void SPI0_INIT(void)&lt;BR /&gt;{ &lt;BR /&gt;&amp;nbsp; &amp;nbsp;WOMS =0;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0CR1 = 0x50; // 0b01010000&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0CR2 = 0x00; &lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0BR = 0x02; &lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;void SPI0_WRITE(uchar addr, char data)&lt;BR /&gt;{ &lt;BR /&gt;&amp;nbsp; &amp;nbsp;PORTS_DONNEES &amp;amp;= ~0x7F; &lt;BR /&gt;&amp;nbsp; &amp;nbsp;while(!(SPI0SR &amp;amp; SPI_SPTEF)); // wait until write is permissible&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0DR = addr; // output the byte to the SPI &lt;BR /&gt;&amp;nbsp; &amp;nbsp;while(!(SPI0SR &amp;amp; SPI_SPIF)); // wait until write operation is complete &lt;BR /&gt;&amp;nbsp; &amp;nbsp;PORTS_DONNEES |= 0x80;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;uint SPI0_READ(uchar ad)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; &amp;nbsp;PORTS_DONNEES &amp;amp;= ~0x7F;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;while(!(SPI0SR &amp;amp; SPI_SPTEF)); // wait until write is permissible &lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0DR = ad; // trigger eight SCK pulses to shift in data &lt;BR /&gt;&amp;nbsp; &amp;nbsp;while(!(SPI0SR &amp;amp; SPI_SPIF)); // wait until a byte has been shifted in &lt;BR /&gt;&amp;nbsp; &amp;nbsp;PORTS_DONNEES |= 0x80; &lt;BR /&gt;&amp;nbsp; &amp;nbsp;return SPI0DR;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;void main()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; &amp;nbsp;DDRS |=0xE0; &lt;BR /&gt;&amp;nbsp; &amp;nbsp;PORTS_DONNEES |= 0x80; &lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0_INIT();&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;SPI0_WRITE(0x8F);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0_WRITE(0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0_WRITE(0x80);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0_WRITE(0x08);&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;for(;;) &lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0_WRITE(0x80, 0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;SPI0_WRITE(0x03, 0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;a=SPI0_READ(0x00);&lt;BR /&gt;&amp;nbsp; } &amp;nbsp;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;Thank,&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Feb 2017 15:49:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630100#M13467</guid>
      <dc:creator>bastbare</dc:creator>
      <dc:date>2017-02-13T15:49:35Z</dc:date>
    </item>
    <item>
      <title>Re: [Help HCS12] SPI function</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630101#M13468</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;According to the DS1306 datasheet, the SPI is active high, so make sure CE (SS) is set to 1 during a read or a write.&lt;BR /&gt;PORTS_DONNEES |= &amp;nbsp;&amp;nbsp;&amp;nbsp; 0x80;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Set&lt;BR /&gt;PORTS_DONNEES &amp;amp;= &amp;nbsp; ~0x80; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Clear&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can also try different setting for CPOL, CPHA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If it doesn’t help, please attach the whole project with clock configuration etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;BR /&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Feb 2017 14:43:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630101#M13468</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2017-02-14T14:43:26Z</dc:date>
    </item>
    <item>
      <title>Re: [Help HCS12] SPI function</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630102#M13469</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Now my DS1306 is rewired with the following configuration:&lt;/P&gt;&lt;P&gt;MOSI -&amp;gt; SDI&lt;/P&gt;&lt;P&gt;MISO &amp;lt;- SD0&lt;/P&gt;&lt;P&gt;SS -&amp;gt; GND&lt;/P&gt;&lt;P&gt;PM1 -&amp;gt; CE&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I still have the same problem to know I cann’t read / write the right values.&lt;/P&gt;&lt;P&gt;Here is the complete project :&amp;nbsp;&lt;A class="link-titled" href="https://drive.google.com/file/d/0BzdMHBq_IHZwak5RVE15N3YxVkE/view?usp=sharing" title="https://drive.google.com/file/d/0BzdMHBq_IHZwak5RVE15N3YxVkE/view?usp=sharing"&gt;https://drive.google.com/file/d/0BzdMHBq_IHZwak5RVE15N3YxVkE/view?usp=sharing&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your help&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Feb 2017 13:31:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630102#M13469</guid>
      <dc:creator>bastbare</dc:creator>
      <dc:date>2017-02-15T13:31:23Z</dc:date>
    </item>
    <item>
      <title>Re: [Help HCS12] SPI function</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630103#M13470</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 didn’t find the project in the documents you sent. Only a collection of different examples.&lt;/P&gt;&lt;P&gt;Please have a look at the document attached. It might help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Feb 2017 21:17:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630103#M13470</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2017-02-15T21:17:09Z</dc:date>
    </item>
    <item>
      <title>Re: [Help HCS12] SPI function</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630104#M13471</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry, I don't master export project with Warrior Code.&lt;BR /&gt;I start programming under HCS12, hence my lack of knowledge.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your SPI example. &lt;BR /&gt;However, on pin MISO0,&amp;nbsp;I get 0xFF all the time.&lt;BR /&gt;Is it necessary to rerouted the Ports S on Port M? Because I don't understand why you do this.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Here is a diagram with the various connections on the board between HCS12 and RTC.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="schema.PNG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/13735iF70FC0B2A8FC3E3C/image-size/large?v=v2&amp;amp;px=999" role="button" title="schema.PNG" alt="schema.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Bastien&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Feb 2017 11:40:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630104#M13471</guid>
      <dc:creator>bastbare</dc:creator>
      <dc:date>2017-02-16T11:40:07Z</dc:date>
    </item>
    <item>
      <title>Re: [Help HCS12] SPI function</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630105#M13472</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;It is not necessary to reroute SPI0. But since you use PM1 as SC, I assumed you use SPI0 on Port M as well instead of Port S.&lt;/P&gt;&lt;P&gt;DS1306 datasheet specifies clock polarity CPOL=0 and clock phase CPHA=1. So please set it accordingly, that means SPI0CR1 = 0x54.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Feb 2017 19:20:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630105#M13472</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2017-02-16T19:20:17Z</dc:date>
    </item>
    <item>
      <title>Re: [Help HCS12] SPI function</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630106#M13473</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your help, it works now.&lt;/P&gt;&lt;P&gt;Just one last question. Can I drive the EC (RTC) with the SS (SPI0, μC)?&lt;/P&gt;&lt;P&gt;Have a nice day.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Bastien&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Feb 2017 11:41:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630106#M13473</guid>
      <dc:creator>bastbare</dc:creator>
      <dc:date>2017-02-17T11:41:10Z</dc:date>
    </item>
    <item>
      <title>Re: [Help HCS12] SPI function</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630107#M13474</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;Hi&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The SPI on RTC module is active high, so it needs SS to go high every transmission. But the SPI0 sets SS low during each transmission and it is high when the SPI is in idle state. So you cannot use it in this case.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Feb 2017 10:17:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630107#M13474</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2017-02-20T10:17:44Z</dc:date>
    </item>
    <item>
      <title>Re: [Help HCS12] SPI function</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630108#M13475</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ok, thanks for the information and your help&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Bastien&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Feb 2017 08:21:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-HCS12-SPI-function/m-p/630108#M13475</guid>
      <dc:creator>bastbare</dc:creator>
      <dc:date>2017-02-21T08:21:27Z</dc:date>
    </item>
  </channel>
</rss>

