<?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 SPI Communication LCPXPRESSO with mbed in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/SPI-Communication-LCPXPRESSO-with-mbed/m-p/582821#M25604</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Da__X on Tue Nov 27 17:49:42 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying to use my lpcxpresso 1769 (master) to communicate with my mbed lpc1768 (slave) board.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I used the spi_ssp example and I made only small changes in main.c&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
#ifdef __USE_CMSIS
#include "LPC17xx.h"
#endif

#include "lpc17xx_ssp.h"

#define SSP_CHANNEL LPC_SSP1
#define PORT_CSLPC_GPIO2
#define PIN_MASK_CS (1&amp;lt;&amp;lt;2)


int main(void)
{

SSP_CFG_Type sspChannelConfig;
SSP_DATA_SETUP_Type sspDataConfig;


PORT_CS-&amp;gt;FIOSET |= PIN_MASK_CS; //CS High

uint8_t rxBuff[5];
uint8_t txBuff[5];

LPC_PINCON-&amp;gt;PINSEL0 |= 0x2&amp;lt;&amp;lt;14; //SCK1
LPC_PINCON-&amp;gt;PINSEL0 |= 0x2&amp;lt;&amp;lt;18;//MOSI1
PORT_CS-&amp;gt;FIODIR |= 1&amp;lt;&amp;lt;2;//P2.2 as CSn

sspDataConfig.length = 1;
sspDataConfig.tx_data = txBuff;
sspDataConfig.rx_data = rxBuff;

SSP_ConfigStructInit(&amp;amp;sspChannelConfig);
SSP_Init(SSP_CHANNEL, &amp;amp;sspChannelConfig);
SSP_Cmd(SSP_CHANNEL, ENABLE);

int send = 3;

while(1)
{

PORT_CS-&amp;gt;FIOCLR |= PIN_MASK_CS;//CS low
txBuff[0] = send;

//SSP_SendData(SSP_CHANNEL, send);
SSP_ReadWrite(SSP_CHANNEL, &amp;amp;sspDataConfig, SSP_TRANSFER_POLLING);


PORT_CS-&amp;gt;FIOSET |= PIN_MASK_CS; //CS High
}
return 0 ;
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It's actually very simple, I am sending the number 3 to the slave and I expect the slave to reply 1 (the first time) and with 8 all the next times. I can see that I receive the number 3 on my slave. But I don't receive any reply on my LPCXPRESSO....when I use the debbuger, I can see that I am always receiving 0.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thats the code on my mbed board (example code for spi)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
// Reply to a SPI master as slave

 #include "mbed.h"

 SPISlave device(p5, p6, p7, p8); // mosi, miso, sclk, ssel
 Serial pc(USBTX, USBRX);

 int main() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int u = 8;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; device.reply(0x01);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Prime SPI with first reply
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(device.receive()) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int v = device.read();&amp;nbsp;&amp;nbsp; // Read byte from master
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pc.printf("received: %d\n", v);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //v = 3;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; device.reply(u);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Make this the next reply
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
 }&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have no idea why I am not able to receive any messages from the slave.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I hope somebody can help me &lt;SPAN class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;&lt;LI-EMOJI id="lia_slightly-smiling-face" title=":slightly_smiling_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 01:17:05 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T01:17:05Z</dc:date>
    <item>
      <title>SPI Communication LCPXPRESSO with mbed</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/SPI-Communication-LCPXPRESSO-with-mbed/m-p/582821#M25604</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Da__X on Tue Nov 27 17:49:42 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying to use my lpcxpresso 1769 (master) to communicate with my mbed lpc1768 (slave) board.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I used the spi_ssp example and I made only small changes in main.c&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
#ifdef __USE_CMSIS
#include "LPC17xx.h"
#endif

#include "lpc17xx_ssp.h"

#define SSP_CHANNEL LPC_SSP1
#define PORT_CSLPC_GPIO2
#define PIN_MASK_CS (1&amp;lt;&amp;lt;2)


int main(void)
{

SSP_CFG_Type sspChannelConfig;
SSP_DATA_SETUP_Type sspDataConfig;


PORT_CS-&amp;gt;FIOSET |= PIN_MASK_CS; //CS High

uint8_t rxBuff[5];
uint8_t txBuff[5];

LPC_PINCON-&amp;gt;PINSEL0 |= 0x2&amp;lt;&amp;lt;14; //SCK1
LPC_PINCON-&amp;gt;PINSEL0 |= 0x2&amp;lt;&amp;lt;18;//MOSI1
PORT_CS-&amp;gt;FIODIR |= 1&amp;lt;&amp;lt;2;//P2.2 as CSn

sspDataConfig.length = 1;
sspDataConfig.tx_data = txBuff;
sspDataConfig.rx_data = rxBuff;

SSP_ConfigStructInit(&amp;amp;sspChannelConfig);
SSP_Init(SSP_CHANNEL, &amp;amp;sspChannelConfig);
SSP_Cmd(SSP_CHANNEL, ENABLE);

int send = 3;

while(1)
{

PORT_CS-&amp;gt;FIOCLR |= PIN_MASK_CS;//CS low
txBuff[0] = send;

//SSP_SendData(SSP_CHANNEL, send);
SSP_ReadWrite(SSP_CHANNEL, &amp;amp;sspDataConfig, SSP_TRANSFER_POLLING);


PORT_CS-&amp;gt;FIOSET |= PIN_MASK_CS; //CS High
}
return 0 ;
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It's actually very simple, I am sending the number 3 to the slave and I expect the slave to reply 1 (the first time) and with 8 all the next times. I can see that I receive the number 3 on my slave. But I don't receive any reply on my LPCXPRESSO....when I use the debbuger, I can see that I am always receiving 0.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thats the code on my mbed board (example code for spi)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
// Reply to a SPI master as slave

 #include "mbed.h"

 SPISlave device(p5, p6, p7, p8); // mosi, miso, sclk, ssel
 Serial pc(USBTX, USBRX);

 int main() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int u = 8;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; device.reply(0x01);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Prime SPI with first reply
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(device.receive()) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int v = device.read();&amp;nbsp;&amp;nbsp; // Read byte from master
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pc.printf("received: %d\n", v);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //v = 3;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; device.reply(u);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Make this the next reply
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
 }&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have no idea why I am not able to receive any messages from the slave.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I hope somebody can help me &lt;SPAN class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;&lt;LI-EMOJI id="lia_slightly-smiling-face" title=":slightly_smiling_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 01:17:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/SPI-Communication-LCPXPRESSO-with-mbed/m-p/582821#M25604</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T01:17:05Z</dc:date>
    </item>
    <item>
      <title>Re: SPI Communication LCPXPRESSO with mbed</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/SPI-Communication-LCPXPRESSO-with-mbed/m-p/582822#M25605</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Da__X on Wed Nov 28 05:19:52 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Solved.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I forgot to set the MISO Pin.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;LPC_PINCON-&amp;gt;PINSEL0 |=((1 &amp;lt;&amp;lt;17)|(0&amp;lt;&amp;lt;16)); //MISO1&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 01:17:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/SPI-Communication-LCPXPRESSO-with-mbed/m-p/582822#M25605</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T01:17:06Z</dc:date>
    </item>
  </channel>
</rss>

