<?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 DMA SPI controlled SSEL signal using linked list on LPC54102 in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/DMA-SPI-controlled-SSEL-signal-using-linked-list-on-LPC54102/m-p/684617#M27580</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;LPC, configured as master, is communicating using DMA and SPI to a peripheral.&lt;/P&gt;&lt;P&gt;Master passes a command to the slave and the slave returns some data.&lt;/P&gt;&lt;P&gt;I use linked list descriptors for the whole communication.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If i want to send a second command from the master, the peripheral requires a SSEL signal.&lt;/P&gt;&lt;P&gt;Using DMA (with linked list) and setting the peripheral registers for a new SSEL signal seems to not work&lt;/P&gt;&lt;P&gt;(Remark: Using DMA (with linked list) and setting the peripheral registers for "end of transfer" bit does work)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are there any restrictions regarding controlling the SSEL signal via linked list in a DMA transfer.&lt;/P&gt;&lt;P&gt;Are there any other solutions to control the SSEL signal?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 05 Jul 2017 07:57:15 GMT</pubDate>
    <dc:creator>praveenthpra</dc:creator>
    <dc:date>2017-07-05T07:57:15Z</dc:date>
    <item>
      <title>DMA SPI controlled SSEL signal using linked list on LPC54102</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/DMA-SPI-controlled-SSEL-signal-using-linked-list-on-LPC54102/m-p/684617#M27580</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;LPC, configured as master, is communicating using DMA and SPI to a peripheral.&lt;/P&gt;&lt;P&gt;Master passes a command to the slave and the slave returns some data.&lt;/P&gt;&lt;P&gt;I use linked list descriptors for the whole communication.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If i want to send a second command from the master, the peripheral requires a SSEL signal.&lt;/P&gt;&lt;P&gt;Using DMA (with linked list) and setting the peripheral registers for a new SSEL signal seems to not work&lt;/P&gt;&lt;P&gt;(Remark: Using DMA (with linked list) and setting the peripheral registers for "end of transfer" bit does work)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are there any restrictions regarding controlling the SSEL signal via linked list in a DMA transfer.&lt;/P&gt;&lt;P&gt;Are there any other solutions to control the SSEL signal?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Jul 2017 07:57:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/DMA-SPI-controlled-SSEL-signal-using-linked-list-on-LPC54102/m-p/684617#M27580</guid>
      <dc:creator>praveenthpra</dc:creator>
      <dc:date>2017-07-05T07:57:15Z</dc:date>
    </item>
    <item>
      <title>Re: DMA SPI controlled SSEL signal using linked list on LPC54102</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/DMA-SPI-controlled-SSEL-signal-using-linked-list-on-LPC54102/m-p/684618#M27581</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A _jive_internal="true" data-content-finding="Community" data-userid="295944" data-username="praveenthpra" href="https://community.nxp.com/people/praveenthpra"&gt;Praveenth Pra&lt;/A&gt;,&lt;/P&gt;&lt;DIV style="color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff;"&gt;&lt;SPAN style="background-color: #ffffff;"&gt;Thank you for your interest in NXP Semiconductor products and&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff;"&gt;&lt;SPAN style="background-color: #ffffff;"&gt;the opportunity to serve you.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff;"&gt;&lt;SPAN style="background-color: #ffffff;"&gt;I was wondering if you can share your demo code and some screenshots of the SSEL signal.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff;"&gt;&lt;SPAN style="background-color: #ffffff;"&gt;It will help me to investigate this issue.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff;"&gt;Have a great day,&lt;/DIV&gt;&lt;P&gt;TIC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Jul 2017 02:55:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/DMA-SPI-controlled-SSEL-signal-using-linked-list-on-LPC54102/m-p/684618#M27581</guid>
      <dc:creator>jeremyzhou</dc:creator>
      <dc:date>2017-07-06T02:55:43Z</dc:date>
    </item>
    <item>
      <title>Re: DMA SPI controlled SSEL signal using linked list on LPC54102</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/DMA-SPI-controlled-SSEL-signal-using-linked-list-on-LPC54102/m-p/684619#M27582</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/jeremyzhou"&gt;jeremyzhou&lt;/A&gt;‌,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the quick response.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These are the relevant part for the SPI and DMA&lt;/P&gt;&lt;P&gt;&amp;nbsp;LPC_SPI1-&amp;gt;TXCTRL=(((SPIM_XFER_OPTION_SIZE(8) |SPIM_XFER_OPTION_EOT) &amp;lt;&amp;lt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;16) | SPI_TXDATCTL_DEASSERT_ALL) &amp;amp; ~SPI_TXDATCTL_EOT;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Chip_SPIM_AssertSSEL(LPC_SPI1, 0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//Linked List&lt;/P&gt;&lt;P&gt;//Command for the slave&lt;/P&gt;&lt;P&gt;DMA_CHDESC_T dmaSPISTxDescArray[3] __attribute__ ((aligned(16)));&lt;BR /&gt;DMA_CHDESC_T dmaSPISRxDescArray[3] __attribute__ ((aligned(16)));&lt;/P&gt;&lt;P&gt;uint8_t command[4]={0x03,0x03,0x03,0x03};&lt;/P&gt;&lt;P&gt;dmaSPISTxDescArray[0].source = DMA_ADDR(command) + 4-1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISTxDescArray[0].dest = DMA_ADDR(&amp;amp;LPC_SPI1-&amp;gt;TXDAT);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISTxDescArray[0].next = DMA_ADDR(&amp;amp;dmaSPISTxDescArray[1]); &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISTxDescArray[0].xfercfg = DMA_XFERCFG_CFGVALID |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_SWTRIG&amp;nbsp; | &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_RELOAD|&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_WIDTH_8 | DMA_XFERCFG_SRCINC_1 |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_DSTINC_0 | DMA_XFERCFG_XFERCOUNT(4);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISRxDescArray[0].source = DMA_ADDR(&amp;amp;LPC_SPI1-&amp;gt;RXDAT);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISRxDescArray[0].dest = DMA_ADDR(command) + 4-1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISRxDescArray[0].next =&amp;nbsp; DMA_ADDR(&amp;amp;dmaSPISRxDescArray[1]); &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISRxDescArray[0].xfercfg = DMA_XFERCFG_CFGVALID |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_SWTRIG&amp;nbsp; |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_RELOAD|&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_WIDTH_8 | DMA_XFERCFG_DSTINC_1 |&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_SRCINC_0 | DMA_XFERCFG_XFERCOUNT(4);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;uint32_t deassertSSel = LPC_SPI1-&amp;gt;TXCTRL | SPI_TXDATCTL_DEASSERTNUM_SSEL(0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;dmaSPISTxDescArray[1].source = DMA_ADDR(&amp;amp;deassertSSel);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISTxDescArray[1].dest = DMA_ADDR(&amp;amp;LPC_SPI1-&amp;gt;TXDATCTL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISTxDescArray[1].next = DMA_ADDR(&amp;amp;dmaSPISTxDescArray[2]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISTxDescArray[1].xfercfg = DMA_XFERCFG_CFGVALID |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_SWTRIG&amp;nbsp;&amp;nbsp; |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_RELOAD|&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_WIDTH_32 | DMA_XFERCFG_SRCINC_0 |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_DSTINC_0 |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_XFERCOUNT(1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISRxDescArray[1].source = DMA_ADDR(&amp;amp;LPC_SPI1-&amp;gt;TXDATCTL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISRxDescArray[1].dest = DMA_ADDR(&amp;amp;deassertSSel);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISRxDescArray[1].next = DMA_ADDR(&amp;amp;dmaSPISRxDescArray[2]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISRxDescArray[1].xfercfg = DMA_XFERCFG_CFGVALID |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_SWTRIG&amp;nbsp; | //DMA_XFERCFG_SETINTA |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_RELOAD|&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_WIDTH_32| DMA_XFERCFG_DSTINC_0 |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_SRCINC_0 |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_XFERCOUNT(1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;uint32_t assertSSEL = (((SPIM_XFER_OPTION_SIZE(8) |SPIM_XFER_OPTION_EOT) &amp;lt;&amp;lt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;16) | SPI_TXDATCTL_DEASSERT_ALL) &amp;amp; ~SPI_TXDATCTL_EOT;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; assertSSEL = &amp;nbsp;&amp;nbsp; assertSSEL &amp;amp; (SPI_TXDATCTL_CTRLMASK &amp;amp; ~SPI_TXDATCTL_DEASSERTNUM_SSEL(0));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISTxDescArray[2].source = DMA_ADDR(&amp;amp;assertSSEL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISTxDescArray[2].dest =&amp;nbsp; DMA_ADDR(&amp;amp;LPC_SPI1-&amp;gt;TXCTRL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISTxDescArray[2].next =&amp;nbsp; DMA_ADDR(&amp;amp;dmaSPISTxDescArray[3]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISTxDescArray[2].xfercfg = DMA_XFERCFG_CFGVALID |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_SWTRIG&amp;nbsp; | &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_RELOAD|&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_WIDTH_32 | DMA_XFERCFG_SRCINC_0 |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_DSTINC_0 |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_XFERCOUNT(1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISRxDescArray[2].source = DMA_ADDR(&amp;amp;LPC_SPI1-&amp;gt;TXCTRL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISRxDescArray[2].dest = DMA_ADDR(&amp;amp;assertSSEL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISRxDescArray[2].next =&amp;nbsp; DMA_ADDR(&amp;amp;dmaSPISRxDescArray[3]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISRxDescArray[2].xfercfg = DMA_XFERCFG_CFGVALID |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_SWTRIG&amp;nbsp; | &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_RELOAD|&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_WIDTH_32| DMA_XFERCFG_DSTINC_0 |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_SRCINC_0 |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_XFERCOUNT(1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISTxDescArray[3].source = DMA_ADDR(command) + 4-1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISTxDescArray[3].dest = DMA_ADDR(&amp;amp;LPC_SPI1-&amp;gt;TXDAT);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISTxDescArray[3].next = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISTxDescArray[3].xfercfg = DMA_XFERCFG_CFGVALID |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_SWTRIG&amp;nbsp; |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_WIDTH_8 | DMA_XFERCFG_SRCINC_1 |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_DSTINC_0 | DMA_XFERCFG_XFERCOUNT(4);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISRxDescArray[countOfDescriptors+1].source = DMA_ADDR(&amp;amp;LPC_SPI1-&amp;gt;RXDAT);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISRxDescArray[countOfDescriptors+1].dest = DMA_ADDR(command) + 4-1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISRxDescArray[countOfDescriptors+1].next =&amp;nbsp; 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaSPISRxDescArray[countOfDescriptors+1].xfercfg = DMA_XFERCFG_CFGVALID |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_SWTRIG&amp;nbsp; | DMA_XFERCFG_SETINTA |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_WIDTH_8 | DMA_XFERCFG_DSTINC_1 |&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_XFERCFG_SRCINC_0 | DMA_XFERCFG_XFERCOUNT(4);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaClearChannel(APP_SPI_DMA_TXCH);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dmaClearChannel(APP_SPI_DMA_RXCH);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Chip_SPI_FlushFifos(LPC_SPI1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* DMA interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;NVIC_EnableIRQ(DMA_IRQn);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while (!Chip_DMA_SetupTranChannel(LPC_DMA, APP_SPI_DMA_RXCH, &amp;amp;dmaSPISRxDescArray[0]));&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Chip_DMA_SetupChannelTransfer(LPC_DMA, APP_SPI_DMA_RXCH, dmaSPISRxDescArray[0].xfercfg);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Chip_DMA_EnableChannel(LPC_DMA, APP_SPI_DMA_RXCH);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Chip_DMA_SetValidChannel(LPC_DMA, APP_SPI_DMA_RXCH);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while (!Chip_DMA_SetupTranChannel(LPC_DMA, APP_SPI_DMA_TXCH, &amp;amp;dmaSPISTxDescArray[0]));&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Chip_DMA_SetupChannelTransfer(LPC_DMA, APP_SPI_DMA_TXCH, dmaSPISTxDescArray[0].xfercfg);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Chip_DMA_EnableChannel(LPC_DMA, APP_SPI_DMA_TXCH);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Chip_DMA_SetValidChannel(LPC_DMA, APP_SPI_DMA_TXCH);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I saw that modifiying the registers for asserting the chip select does not have an impact, unless the SPI is disabled and enabled again, but this "destroys" the connection to the DMA&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Jul 2017 06:54:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/DMA-SPI-controlled-SSEL-signal-using-linked-list-on-LPC54102/m-p/684619#M27582</guid>
      <dc:creator>praveenthpra</dc:creator>
      <dc:date>2017-07-06T06:54:47Z</dc:date>
    </item>
    <item>
      <title>Re: DMA SPI controlled SSEL signal using linked list on LPC54102</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/DMA-SPI-controlled-SSEL-signal-using-linked-list-on-LPC54102/m-p/684620#M27583</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN class=""&gt;&lt;A _jive_internal="true" class="" data-content-finding="Community" data-userid="295944" data-username="praveenthpra" href="https://community.nxp.com/people/praveenthpra"&gt;Praveenth Pra,&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;Thanks for your reply.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;I still have one point that need you to clarify.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;In my opinion, the SSEL will keep active automatically before the end-of-transfer. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;I also didn't find the kind of operation to set the SSEL signal active in the periph_spis_dma demo in the LPCOpen libarary.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Jul 2017 04:16:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/DMA-SPI-controlled-SSEL-signal-using-linked-list-on-LPC54102/m-p/684620#M27583</guid>
      <dc:creator>jeremyzhou</dc:creator>
      <dc:date>2017-07-07T04:16:41Z</dc:date>
    </item>
  </channel>
</rss>

