<?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>LPC MicrocontrollersのトピックLPC2129 SPI communication problem</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2129-SPI-communication-problem/m-p/525966#M8599</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ravi7saini on Fri Jan 29 00:33:37 MST 2016&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#Problem1: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have designed a board using LPC2129 micro controller and Analog devices ADIS160006 accelerometer. I am trying to establish SPI communication using LPC2129 but somehow the SPI communication is not workinhg. I have tested the SCK pin with oscilloscope but there is no activity. LPC2129 is used as a master and ADIS16006 is used as a Slave. I am using Port 0.7 as GPIO for CS. There is activity on the chip select pin when monitored with the help of oscilloscope but not on other pins. Below is my code for establishing Communication. Please suggest some solution for the same. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "lpc21xx.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int main(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int temp= 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IODIR0 |= 0x00000080; // P0.7 defined as SS_ADIS16006&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOSET0 = 0x00000080; // SS_ADIS16006 = 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;PINSEL0 |= 0x00001500; // configure SPI0 pins (except SSEL0)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;S0SPCCR = 12; // SCK = 1 MHz, counter &amp;gt; 8 and even&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;S0SPCR = 0xC8; // CPHA=1, CPOL=1, master mode, MSB first, interrupt disabled&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while(1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; IOCLR0 = 0x00000080; // SS_ADIS16006 = 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; S0SPDR =0xaa;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(!(S0SPSR $ 0x80));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; temp = S0SPDR;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; IOSET0 = 0x00000080; // SS_ADIS16006 = 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#Problem2: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In addition to the above problem my LPC2129 is not going in User flash mode (MEMMAP = 0x01) during power up. It stays in the bootloader mode (MEMMAP = 0x00).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If I power up the board after flashing the code nothing appears on the output. So I use ULINK-ME debugger and while debugging I have to manually change the memory mapping control setting and select the User flash mode. My question is after burning the code in the internal Flash memory and&amp;nbsp; why it is&amp;nbsp; not executing the code from the flash memory.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 16:59:48 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T16:59:48Z</dc:date>
    <item>
      <title>LPC2129 SPI communication problem</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2129-SPI-communication-problem/m-p/525966#M8599</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ravi7saini on Fri Jan 29 00:33:37 MST 2016&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#Problem1: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have designed a board using LPC2129 micro controller and Analog devices ADIS160006 accelerometer. I am trying to establish SPI communication using LPC2129 but somehow the SPI communication is not workinhg. I have tested the SCK pin with oscilloscope but there is no activity. LPC2129 is used as a master and ADIS16006 is used as a Slave. I am using Port 0.7 as GPIO for CS. There is activity on the chip select pin when monitored with the help of oscilloscope but not on other pins. Below is my code for establishing Communication. Please suggest some solution for the same. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "lpc21xx.h"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int main(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int temp= 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IODIR0 |= 0x00000080; // P0.7 defined as SS_ADIS16006&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOSET0 = 0x00000080; // SS_ADIS16006 = 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;PINSEL0 |= 0x00001500; // configure SPI0 pins (except SSEL0)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;S0SPCCR = 12; // SCK = 1 MHz, counter &amp;gt; 8 and even&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;S0SPCR = 0xC8; // CPHA=1, CPOL=1, master mode, MSB first, interrupt disabled&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while(1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; IOCLR0 = 0x00000080; // SS_ADIS16006 = 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; S0SPDR =0xaa;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(!(S0SPSR $ 0x80));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; temp = S0SPDR;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; IOSET0 = 0x00000080; // SS_ADIS16006 = 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#Problem2: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In addition to the above problem my LPC2129 is not going in User flash mode (MEMMAP = 0x01) during power up. It stays in the bootloader mode (MEMMAP = 0x00).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If I power up the board after flashing the code nothing appears on the output. So I use ULINK-ME debugger and while debugging I have to manually change the memory mapping control setting and select the User flash mode. My question is after burning the code in the internal Flash memory and&amp;nbsp; why it is&amp;nbsp; not executing the code from the flash memory.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:59:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2129-SPI-communication-problem/m-p/525966#M8599</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:59:48Z</dc:date>
    </item>
    <item>
      <title>Re: LPC2129 SPI communication problem</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2129-SPI-communication-problem/m-p/525967#M8600</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by eddiemallon on Tue Feb 02 13:53:43 MST 2016&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi, I design some hardware with a 2129 interfaced to an AD7707. I did originally have problems trying to interface to the AD7707 due to lack of information. Eventually I did get it to work. Below are the sections of code to initiate the SPI, and transmit and receive from the AD7707. CS was connected to 0v to enable device permanently. Hope it helps.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void init_board (void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;PINSEL0 = 0x00005105;//En Pin 0.0,1 as UART TxD RxD; SPI_1 Pin 0.4,6,7&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;PINSEL1 = 0x000002A8;//En SPI_2 Pin 0.17,18,19,20&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IODIR0&amp;nbsp; = 0x00400f00;//set P0.8,9,10,11, 22 to o/ps&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void init_SPI (void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;S0SPCCR = 0x96;//Set SPI_1 clk to 98kHz&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;S0SPCR&amp;nbsp; = 0x20;//Set SPI_1 to master, MSB first, SCK active low.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOSET0&amp;nbsp; = 0x00400A00;//set P0.11, 22 to 'Hi'; P0.8 to '0', P0.9 to '1' : 4-20mA&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;S1SPCCR = 0x96;//Set SPI_2 clk to 98kHz&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;S1SPCR&amp;nbsp; = 0x38;//Set SPI_2 to master, MSB first, SCK active high.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void AD7707_tx(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{ &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;S1SPDR = AD7707_tx_data;//write data&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while (S1SPSR != 0x80);//Wait for data sent; check SR bit7 is 'Hi'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void AD7707_rx(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{ &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AD7707_tx_data = 0x38;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AD7707_tx();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;do&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AD7707_drdy =IOPIN0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while ((AD7707_drdy &amp;amp; 0x00200000) !=0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AD7707_tx_data = 0x00;// data rqst&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AD7707_tx();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;rxdata_H&amp;nbsp; = S1SPDR;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;AD7707_tx_data = 0x00; // data rqst&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AD7707_tx();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;rxdata_L = S1SPDR;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;AD7707_rx_data&amp;nbsp; = ((rxdata_H &amp;lt;&amp;lt;8) | rxdata_L);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void init_AD7707(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCLR0 = 0x00400000;// reset AD7707 po.22&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;delay2();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOSET0 = 0x00400000;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AD7707_tx_data = 0x20;//write data to Comm Reg: An1_Locom selected.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AD7707_tx();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AD7707_tx_data = 0x1c;//write data to Clk Reg:&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AD7707_tx();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AD7707_tx_data = 0x10;//write data to Comm Reg: An1_Locom selected.&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AD7707_tx(); &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AD7707_tx_data = 0x44;//write data to SetUp Reg: An1_Locom selected, unipolar.&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AD7707_tx();&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:59:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2129-SPI-communication-problem/m-p/525967#M8600</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:59:49Z</dc:date>
    </item>
  </channel>
</rss>

