<?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: Adding SPI master to existing LPC55S36 software in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Adding-SPI-master-to-existing-LPC55S36-software/m-p/2018918#M57449</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;First of all, pls check if the pin configuration is correct or not.&lt;/P&gt;
&lt;P&gt;In the pin_mux.c, pls add the code:&lt;/P&gt;
&lt;DIV style="background-color: #ffffff; padding: 0px 0px 0px 2px;"&gt;
&lt;DIV style="color: #000000; background-color: #ffffff; font-family: 'Consolas'; font-size: 10pt; white-space: pre;"&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;* Enables the clock for the I/O controller.: Enable Clock. */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; CLOCK_EnableClock(&lt;/SPAN&gt;&lt;SPAN&gt;kCLOCK_Iocon&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt; port1_pin23_config = (&lt;/SPAN&gt;&lt;SPAN&gt;/* Pin is configured as FC2_SCK */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_FUNC1 |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Selects pull-up function */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_MODE_PULLUP |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Fast mode, slew rate control is disabled */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_SLEW_FAST |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Input function is not inverted */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_INV_DI |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Enables digital function */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_DIGITAL_EN |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Open drain is disabled */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_OPENDRAIN_DI&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Analog switch is closed (enabled) */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; );&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* PORT1 PIN23 (&lt;/SPAN&gt;&lt;SPAN&gt;coords&lt;/SPAN&gt;&lt;SPAN&gt;: 21) is configured as FC2_SCK */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PinMuxSet(IOCON, 1U, 23U, port1_pin23_config);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt; port0_pin26_config = (&lt;/SPAN&gt;&lt;SPAN&gt;/* Pin is configured as FC2_MOSI */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_FUNC1 |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Selects pull-up function */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_MODE_PULLUP |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Fast mode, slew rate control is disabled */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_SLEW_FAST |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Input function is not inverted */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_INV_DI |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Enables digital function */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_DIGITAL_EN |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Open drain is disabled */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_OPENDRAIN_DI&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Analog switch is closed (enabled) */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; );&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Port0 pin26 configured as FC2_MOSI */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PinMuxSet(IOCON, 0U, 26U, port0_pi26_config);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt; port1_pin25_config = (&lt;/SPAN&gt;&lt;SPAN&gt;/* Pin is configured as FC2_SCK */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_FUNC1 |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Selects pull-up function */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_MODE_PULLUP |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Fast mode, slew rate control is disabled */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_SLEW_FAST |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Input function is not inverted */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_INV_DI |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Enables digital function */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_DIGITAL_EN |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Open drain is disabled */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_OPENDRAIN_DI&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Analog switch is closed (enabled) */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; );&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* PORT1 PIN25 (&lt;/SPAN&gt;&lt;SPAN&gt;coords&lt;/SPAN&gt;&lt;SPAN&gt;: 21) is configured as FC2_MISO */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PinMuxSet(IOCON, 1U, 25U, port1_pin25_config);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt; port1_pin26_config = (&lt;/SPAN&gt;&lt;SPAN&gt;/* Pin is configured as FC2_SSL3 */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_FUNC1 |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Selects pull-up function */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_MODE_PULLUP |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Fast mode, slew rate control is disabled */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_SLEW_FAST |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Input function is not inverted */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_INV_DI |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Enables digital function */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_DIGITAL_EN |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Open drain is disabled */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_OPENDRAIN_DI&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Analog switch is closed (enabled) */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; );&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* PORT1 PIN25 (&lt;/SPAN&gt;&lt;SPAN&gt;coords&lt;/SPAN&gt;&lt;SPAN&gt;: 21) is configured as FC2_MISO */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PinMuxSet(IOCON, 1U, 26U, port1_pin26_config);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;Secondly, because you use FC2_SSL3 pin, you have to clear the TXSSEL3_N bit,&lt;/P&gt;
&lt;P style="margin: 0;"&gt;while set the TXSSEL0_N,TXSSEL1_N,TXSSEL2_N bits in the FIFOWR register, in this way,&lt;/P&gt;
&lt;P style="margin: 0;"&gt;in master mode of SPI,the SSL3 pin will be asserted.&lt;/P&gt;
&lt;P style="margin: 0;"&gt;If you use spi driver, pls check where you can change the TXSSEL3_N bit.&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="xiangjun_rong_0-1735022590124.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/317175iC3C804C00C8BF22C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="xiangjun_rong_0-1735022590124.png" alt="xiangjun_rong_0-1735022590124.png" /&gt;&lt;/span&gt;
&lt;P&gt;Hope it is helpful.&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;XiangJun Rong&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
    <pubDate>Tue, 24 Dec 2024 06:46:48 GMT</pubDate>
    <dc:creator>xiangjun_rong</dc:creator>
    <dc:date>2024-12-24T06:46:48Z</dc:date>
    <item>
      <title>Adding SPI master to existing LPC55S36 software</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Adding-SPI-master-to-existing-LPC55S36-software/m-p/2018834#M57448</link>
      <description>&lt;P&gt;I have an existing application running on an LPC55S36-EVK.&amp;nbsp; Need to add an SPI master driver.&amp;nbsp; Selected flexcom2.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Environment is FreeRTOS, NXP MCUXpresso 11.9.0.&lt;/P&gt;&lt;P&gt;Added driver with a small test harness that transmits a small character string.&lt;/P&gt;&lt;P&gt;Input clock rate to SPI is 32MHz; bit rate 500KHz.&amp;nbsp; Driver initialized at startup.&amp;nbsp; Default settings for driver.&lt;/P&gt;&lt;P&gt;Test program fills rx buffer with 0x00s before transmit/receive. When flexcom2 driver is configured for loopback mode, and SPI_MasterTransferNonBlocking is called, data is successfully transmitted and received.&amp;nbsp; Callback function indicates good status.&lt;/P&gt;&lt;P&gt;When configured for non-loopback mode, call to driver completes, completion callback runs, status is good, but rx buffer has 0xff's for every char that was received, indicating MISO is pulled high.&amp;nbsp; (SSEL0 and clock signals are floating;&amp;nbsp; MISO jumpered to MOSI).&lt;/P&gt;&lt;P&gt;Oscope shows no activity on clk, ssel0, MOSI lines.&lt;/P&gt;&lt;P&gt;Pin configuration is as follows:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="TRCooper_0-1735014656504.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/317141i62C628AE9E07D52B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="TRCooper_0-1735014656504.png" alt="TRCooper_0-1735014656504.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Clearly I have missed something during initialization;&amp;nbsp; SPI port and driver are running but appear to not be connected to these lines.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Control registers for these pins show 0x0000_0101 for I/O control pins for PIO1_23, _25, and _26, which appears to be correct.&lt;/P&gt;&lt;P&gt;What have I ommitted/what can I check?&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;TRCooper&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 24 Dec 2024 04:35:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Adding-SPI-master-to-existing-LPC55S36-software/m-p/2018834#M57448</guid>
      <dc:creator>TRCooper</dc:creator>
      <dc:date>2024-12-24T04:35:03Z</dc:date>
    </item>
    <item>
      <title>Re: Adding SPI master to existing LPC55S36 software</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Adding-SPI-master-to-existing-LPC55S36-software/m-p/2018918#M57449</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;First of all, pls check if the pin configuration is correct or not.&lt;/P&gt;
&lt;P&gt;In the pin_mux.c, pls add the code:&lt;/P&gt;
&lt;DIV style="background-color: #ffffff; padding: 0px 0px 0px 2px;"&gt;
&lt;DIV style="color: #000000; background-color: #ffffff; font-family: 'Consolas'; font-size: 10pt; white-space: pre;"&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;* Enables the clock for the I/O controller.: Enable Clock. */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; CLOCK_EnableClock(&lt;/SPAN&gt;&lt;SPAN&gt;kCLOCK_Iocon&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt; port1_pin23_config = (&lt;/SPAN&gt;&lt;SPAN&gt;/* Pin is configured as FC2_SCK */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_FUNC1 |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Selects pull-up function */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_MODE_PULLUP |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Fast mode, slew rate control is disabled */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_SLEW_FAST |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Input function is not inverted */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_INV_DI |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Enables digital function */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_DIGITAL_EN |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Open drain is disabled */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_OPENDRAIN_DI&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Analog switch is closed (enabled) */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; );&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* PORT1 PIN23 (&lt;/SPAN&gt;&lt;SPAN&gt;coords&lt;/SPAN&gt;&lt;SPAN&gt;: 21) is configured as FC2_SCK */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PinMuxSet(IOCON, 1U, 23U, port1_pin23_config);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt; port0_pin26_config = (&lt;/SPAN&gt;&lt;SPAN&gt;/* Pin is configured as FC2_MOSI */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_FUNC1 |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Selects pull-up function */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_MODE_PULLUP |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Fast mode, slew rate control is disabled */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_SLEW_FAST |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Input function is not inverted */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_INV_DI |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Enables digital function */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_DIGITAL_EN |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Open drain is disabled */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_OPENDRAIN_DI&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Analog switch is closed (enabled) */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; );&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Port0 pin26 configured as FC2_MOSI */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PinMuxSet(IOCON, 0U, 26U, port0_pi26_config);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt; port1_pin25_config = (&lt;/SPAN&gt;&lt;SPAN&gt;/* Pin is configured as FC2_SCK */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_FUNC1 |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Selects pull-up function */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_MODE_PULLUP |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Fast mode, slew rate control is disabled */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_SLEW_FAST |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Input function is not inverted */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_INV_DI |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Enables digital function */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_DIGITAL_EN |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Open drain is disabled */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_OPENDRAIN_DI&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Analog switch is closed (enabled) */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; );&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* PORT1 PIN25 (&lt;/SPAN&gt;&lt;SPAN&gt;coords&lt;/SPAN&gt;&lt;SPAN&gt;: 21) is configured as FC2_MISO */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PinMuxSet(IOCON, 1U, 25U, port1_pin25_config);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt; port1_pin26_config = (&lt;/SPAN&gt;&lt;SPAN&gt;/* Pin is configured as FC2_SSL3 */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_FUNC1 |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Selects pull-up function */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_MODE_PULLUP |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Fast mode, slew rate control is disabled */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_SLEW_FAST |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Input function is not inverted */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_INV_DI |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Enables digital function */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_DIGITAL_EN |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Open drain is disabled */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PIO_OPENDRAIN_DI&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* Analog switch is closed (enabled) */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; );&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;/* PORT1 PIN25 (&lt;/SPAN&gt;&lt;SPAN&gt;coords&lt;/SPAN&gt;&lt;SPAN&gt;: 21) is configured as FC2_MISO */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; IOCON_PinMuxSet(IOCON, 1U, 26U, port1_pin26_config);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;Secondly, because you use FC2_SSL3 pin, you have to clear the TXSSEL3_N bit,&lt;/P&gt;
&lt;P style="margin: 0;"&gt;while set the TXSSEL0_N,TXSSEL1_N,TXSSEL2_N bits in the FIFOWR register, in this way,&lt;/P&gt;
&lt;P style="margin: 0;"&gt;in master mode of SPI,the SSL3 pin will be asserted.&lt;/P&gt;
&lt;P style="margin: 0;"&gt;If you use spi driver, pls check where you can change the TXSSEL3_N bit.&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="xiangjun_rong_0-1735022590124.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/317175iC3C804C00C8BF22C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="xiangjun_rong_0-1735022590124.png" alt="xiangjun_rong_0-1735022590124.png" /&gt;&lt;/span&gt;
&lt;P&gt;Hope it is helpful.&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;XiangJun Rong&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 24 Dec 2024 06:46:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Adding-SPI-master-to-existing-LPC55S36-software/m-p/2018918#M57449</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2024-12-24T06:46:48Z</dc:date>
    </item>
    <item>
      <title>Re: Adding SPI master to existing LPC55S36 software</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Adding-SPI-master-to-existing-LPC55S36-software/m-p/2019131#M57450</link>
      <description>&lt;P&gt;Problem solved. Thanks for the insights.&amp;nbsp;&lt;/P&gt;&lt;P&gt;First, flexcomm2 was not the best choice, being used for other functions on the eval board.&amp;nbsp; Switching to flexcomm8 and using different pins helped.&amp;nbsp; Flexcomm8 and the hs_spi is better suited for this test.&amp;nbsp; Second, setting the xfer configuration flags the transfer data structure to SPI_FIFOWR_EOT_MASK was required to deassert SSEL0 after each transaction.&amp;nbsp; This was not obvious from the documentation and examples;&amp;nbsp; some digging was required, but all signals are now behaving as expected.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 24 Dec 2024 20:23:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Adding-SPI-master-to-existing-LPC55S36-software/m-p/2019131#M57450</guid>
      <dc:creator>TRCooper</dc:creator>
      <dc:date>2024-12-24T20:23:04Z</dc:date>
    </item>
  </channel>
</rss>

