<?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のトピックLPC11C14 SPI communication</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C14-SPI-communication/m-p/765254#M30800</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everyone ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i am currently working on a project where i have to use LPC11C14 to communicate with another measurement instrument through SPI. I have to send some commands and read data from the instrument every second. But i can't get any data from that, also i checked the SPI with oscilloscope there are no data coming out. The program i wrote is based on the example in the LPCOpen. Can someone check my code and give me some instruction here? I really tried to find problem but i get nothing. Here is the code.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #3933ff; font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#include&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;"board.h"&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #3933ff; font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#include&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&amp;lt;cr_section_macros.h&amp;gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/*****************************************************************************&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;* Private types/enumerations/variables&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;****************************************************************************&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;****************************************************************************/&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;// For SSP Communication&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; BUFFER_SIZE &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (0x10)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; SSP_DATA_BITS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (SSP_BITS_8)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; SSP_DATA_BIT_NUM(databits)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (databits + 1)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; SSP_DATA_BYTES(databits)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (((databits) &amp;gt; SSP_BITS_8) ? 2 : 1)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; SSP_LO_BYTE_MSK(databits) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ((SSP_DATA_BYTES(databits) &amp;gt; 1) ? 0xFF : (0xFF &amp;gt;&amp;gt; \&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;(8 - SSP_DATA_BIT_NUM(databits))))&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; SSP_HI_BYTE_MSK(databits) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ((SSP_DATA_BYTES(databits) &amp;gt; 1) ? (0xFF &amp;gt;&amp;gt; \&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;(16 - SSP_DATA_BIT_NUM(databits))) : 0)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; LPC_SSP &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LPC_SSP0&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; SSP_IRQ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SSP0_IRQn&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; SSPIRQHANDLER &amp;nbsp; &amp;nbsp; SSP0_IRQHandler&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/* &lt;SPAN style="text-decoration: underline;"&gt;Tx&lt;/SPAN&gt; buffer */&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="color: #006141;"&gt;uint8_t&lt;/SPAN&gt; Tx_Buf[24];&amp;nbsp; &amp;nbsp; &lt;SPAN style="color: #4e9072;"&gt;// RAM&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/* &lt;SPAN style="text-decoration: underline;"&gt;Rx&lt;/SPAN&gt; buffer */&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="color: #006141;"&gt;uint8_t&lt;/SPAN&gt; Rx_Buf[8];&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #006141; font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;static&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;SSP_ConfigFormat&lt;SPAN style="color: #000000;"&gt; ssp_format;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #006141; font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;static&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;Chip_SSP_DATA_SETUP_T&lt;SPAN style="color: #000000;"&gt; xf_setup;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="color: #931a68;"&gt;volatile&lt;/SPAN&gt; &lt;SPAN style="color: #006141;"&gt;uint8_t&lt;/SPAN&gt;&amp;nbsp; isXferCompleted = 0;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; TICKRATE_HZ (1) &lt;/SPAN&gt;/* 1 ticks per second */&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/*****************************************************************************&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;* Public types/enumerations/variables&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;****************************************************************************/&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/* Set pin &lt;SPAN style="text-decoration: underline;"&gt;mux&lt;/SPAN&gt; for SSP operation */&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt; Init_SSP_PinMux(&lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt;)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;{&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_IOCON_PinMuxSet(LPC_IOCON, &lt;SPAN style="color: #0326cc;"&gt;IOCON_PIO0_8&lt;/SPAN&gt;, (IOCON_FUNC1 | IOCON_MODE_INACT));&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #4e9072;"&gt;/* MISO0 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_IOCON_PinMuxSet(LPC_IOCON, &lt;SPAN style="color: #0326cc;"&gt;IOCON_PIO0_9&lt;/SPAN&gt;, (IOCON_FUNC1 | IOCON_MODE_INACT));&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #4e9072;"&gt;/* MOSI0 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_IOCON_PinMuxSet(LPC_IOCON, &lt;SPAN style="color: #0326cc;"&gt;IOCON_PIO0_2&lt;/SPAN&gt;, (IOCON_FUNC1 | IOCON_MODE_INACT));&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #4e9072;"&gt;/* SSEL0 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_IOCON_PinMuxSet(LPC_IOCON, &lt;SPAN style="color: #0326cc;"&gt;IOCON_PIO2_11&lt;/SPAN&gt;, (IOCON_FUNC1 | IOCON_MODE_INACT));&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #4e9072;"&gt;/* SCK0 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_IOCON_PinLocSel(LPC_IOCON, &lt;SPAN style="color: #0326cc;"&gt;IOCON_SCKLOC_PIO2_11&lt;/SPAN&gt;);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;}&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/*****************************************************************************&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;* Private functions&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;****************************************************************************/&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/* Initialize buffer */&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt; Buffer_Init(&lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt;)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;{&lt;/P&gt;&lt;P style="color: #006141; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;uint16_t&lt;SPAN style="color: #000000;"&gt; i;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;// send wake up signal&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;// wait for T_WAKE=100-300 us&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;//Configuration Commands&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;//use default configuration first&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[0]=0x80;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[1]=0x01;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[2]=0x4D;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[3]=0x7A;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;// write configuration register 0-5&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[4]=0xFC;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[5]=0x00;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[6]=0x00;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[7]=0x00;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[8]=0x00;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[9]=0x00;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;//send PEC&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[10]=0x4F;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[11]=0x82;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;// &lt;SPAN style="text-decoration: underline;"&gt;adc&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[12]=0x83;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[13]=0x70;&lt;/SPAN&gt;// CMD1 select all cells measurement&amp;nbsp; DCP =1&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[14]=0xDF;&lt;SPAN style="color: #4e9072;"&gt;//PEC&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[15]=0x56;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;//polling&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[16]=0x87;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[17]=0x14;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[18]=0x83;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[19]=0x78;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;//GET ALL THE SUM OF ALL CELL MEASURMENT Read status register Group A&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[20]=0x80;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[21]=0x10;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[22]=0x9D;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[23]=0x66;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;// 6 bytes from status register Group A&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #931a68;"&gt;for&lt;/SPAN&gt; (i = 0; i &amp;lt; 8; i++) {&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Rx_Buf[i] = 0xAA;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;}&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/*****************************************************************************&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;* Public functions&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;****************************************************************************/&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/**&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;* @brief&lt;SPAN class=""&gt; &lt;/SPAN&gt;SSP interrupt handler sub-routine&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;* @return&lt;SPAN class=""&gt; &lt;/SPAN&gt;Nothing&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;*/&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt; SSPIRQHANDLER(&lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt;)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;{&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Int_Disable(LPC_SSP);&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #4e9072;"&gt;/* Disable all interrupt */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Int_RWFrames8Bits(LPC_SSP, &amp;amp;xf_setup);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #931a68;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; ((xf_setup.&lt;/SPAN&gt;&lt;SPAN style="color: #0326cc;"&gt;tx_cnt&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; != xf_setup.&lt;/SPAN&gt;&lt;SPAN style="color: #0326cc;"&gt;length&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;) ||&amp;nbsp;xf_setup.r&lt;SPAN style="color: #0326cc;"&gt;x_cnt&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp;&amp;lt;8&lt;/SPAN&gt;) { &lt;/SPAN&gt;//|| (xf_setup.rx_cnt != xf_setup.length) &amp;nbsp;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Int_Enable(LPC_SSP);&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #4e9072;"&gt;/* enable all interrupts */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="color: #931a68; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;else&lt;SPAN style="color: #000000;"&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;isXferCompleted = 1;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;}&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;//&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/**&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;* @brief timer&amp;nbsp;interrupt handler sub-routine&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;* @return&lt;SPAN class=""&gt; &lt;/SPAN&gt;Nothing&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;*/&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt; TIMER32_0_IRQHandler(&lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt;)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;{&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #931a68;"&gt;if&lt;/SPAN&gt; (Chip_TIMER_MatchPending(LPC_TIMER32_0, 1)) {&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_TIMER_ClearMatch(LPC_TIMER32_0, 1);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Enable(LPC_SSP);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="color: #4e9072;"&gt;// enable SSP communication&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Buffer_Init();&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;xf_setup.&lt;SPAN style="color: #0326cc;"&gt;length&lt;/SPAN&gt; = 24;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;xf_setup.&lt;/SPAN&gt;&lt;SPAN style="color: #0326cc;"&gt;tx_data&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = Tx_Buf;&amp;nbsp; &lt;/SPAN&gt;//&amp;nbsp; assign the address of the first number&amp;nbsp; to the pointer&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;xf_setup.&lt;/SPAN&gt;&lt;SPAN style="color: #0326cc;"&gt;rx_data&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = Rx_Buf; &amp;nbsp; &lt;/SPAN&gt;// assign the address of the first number&amp;nbsp; to the pointer&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;xf_setup.&lt;SPAN style="color: #0326cc;"&gt;rx_cnt&lt;/SPAN&gt; = 0;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;xf_setup.&lt;SPAN style="color: #0326cc;"&gt;tx_cnt&lt;/SPAN&gt; = 0;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Int_FlushData(LPC_SSP);&lt;/SPAN&gt;/* flush dummy data from SSP FiFO */&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Int_RWFrames8Bits(LPC_SSP, &amp;amp;xf_setup);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Int_Enable(LPC_SSP);&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #4e9072;"&gt;/* enable interrupt */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #931a68;"&gt;while&lt;/SPAN&gt; (!isXferCompleted) {&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;isXferCompleted=0;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Disable(LPC_SSP);&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;}&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;}&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;int&lt;/SPAN&gt; main(&lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt;){&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;/* =================this part is the main function part==============&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt; * initialization &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;SystemCoreClockUpdate();&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Board_Init();&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;/* =================SSP initialization ============*/&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Init_SSP_PinMux();&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Init(LPC_SSP);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #0326cc; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;ssp_format.&lt;/SPAN&gt;frameFormat&lt;SPAN style="color: #000000;"&gt; = &lt;/SPAN&gt;SSP_FRAMEFORMAT_SPI&lt;SPAN style="color: #000000;"&gt;; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #4e9072;"&gt;// SPI Frame format&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;ssp_format.&lt;SPAN style="color: #0326cc;"&gt;bits&lt;/SPAN&gt; = SSP_DATA_BITS;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="color: #4e9072;"&gt;// set 8 bits&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;ssp_format.&lt;/SPAN&gt;&lt;SPAN style="color: #0326cc;"&gt;clockMode&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #0326cc;"&gt;SSP_CLOCK_MODE3&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;// clock mode as CPHA=1, CPOL=1&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_SetFormat(LPC_SSP, ssp_format.&lt;SPAN style="color: #0326cc;"&gt;bits&lt;/SPAN&gt;, ssp_format.&lt;SPAN style="color: #0326cc;"&gt;frameFormat&lt;/SPAN&gt;, ssp_format.&lt;SPAN style="color: #0326cc;"&gt;clockMode&lt;/SPAN&gt;);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_SetMaster(LPC_SSP, 1); &amp;nbsp; &lt;SPAN style="color: #4e9072;"&gt;// SET MCU as master&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_SetBitRate(LPC_SSP, 10000); &amp;nbsp; &lt;SPAN style="color: #4e9072;"&gt;//set bit rate here t_CLK&amp;gt;=1 us!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Enable(LPC_SSP);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="color: #4e9072;"&gt;// enable SSP communication&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;NVIC_EnableIRQ(SSP_IRQ);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Buffer_Init();&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;xf_setup.&lt;SPAN style="color: #0326cc;"&gt;length&lt;/SPAN&gt; = 24;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;xf_setup.&lt;/SPAN&gt;&lt;SPAN style="color: #0326cc;"&gt;tx_data&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = Tx_Buf;&amp;nbsp; &lt;/SPAN&gt;//&amp;nbsp; assign the address of the first number&amp;nbsp; to the pointer&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;xf_setup.&lt;/SPAN&gt;&lt;SPAN style="color: #0326cc;"&gt;rx_data&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = Rx_Buf; &amp;nbsp; &lt;/SPAN&gt;// assign the address of the first number&amp;nbsp; to the pointer&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;xf_setup.&lt;SPAN style="color: #0326cc;"&gt;rx_cnt&lt;/SPAN&gt; = 0;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;xf_setup.&lt;SPAN style="color: #0326cc;"&gt;tx_cnt&lt;/SPAN&gt; = 0;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;/* Timer configuration*/&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_TIMER_Init(LPC_TIMER32_0);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #006141;"&gt;uint32_t&lt;/SPAN&gt; timerFreq = Chip_Clock_GetSystemClockRate();&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_TIMER_Reset(LPC_TIMER32_0);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_TIMER_MatchEnableInt(LPC_TIMER32_0, 1);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_TIMER_SetMatch(LPC_TIMER32_0, 1, (timerFreq / TICKRATE_HZ));&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_TIMER_ResetOnMatchEnable(LPC_TIMER32_0, 1);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_TIMER_Enable(LPC_TIMER32_0);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;//&lt;SPAN class=""&gt; &lt;/SPAN&gt; Enable timer interrupt&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;NVIC_ClearPendingIRQ(&lt;SPAN style="color: #0326cc;"&gt;TIMER_32_0_IRQn&lt;/SPAN&gt;);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;NVIC_EnableIRQ(&lt;SPAN style="color: #0326cc;"&gt;TIMER_32_0_IRQn&lt;/SPAN&gt;);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #931a68;"&gt;while&lt;/SPAN&gt; (1) {&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;__WFI();&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #931a68; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;return&lt;SPAN style="color: #000000;"&gt; 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 09 Nov 2017 15:16:35 GMT</pubDate>
    <dc:creator>kangkangli</dc:creator>
    <dc:date>2017-11-09T15:16:35Z</dc:date>
    <item>
      <title>LPC11C14 SPI communication</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C14-SPI-communication/m-p/765254#M30800</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everyone ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i am currently working on a project where i have to use LPC11C14 to communicate with another measurement instrument through SPI. I have to send some commands and read data from the instrument every second. But i can't get any data from that, also i checked the SPI with oscilloscope there are no data coming out. The program i wrote is based on the example in the LPCOpen. Can someone check my code and give me some instruction here? I really tried to find problem but i get nothing. Here is the code.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #3933ff; font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#include&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;"board.h"&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #3933ff; font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#include&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&amp;lt;cr_section_macros.h&amp;gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/*****************************************************************************&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;* Private types/enumerations/variables&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;****************************************************************************&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;****************************************************************************/&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;// For SSP Communication&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; BUFFER_SIZE &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (0x10)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; SSP_DATA_BITS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (SSP_BITS_8)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; SSP_DATA_BIT_NUM(databits)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (databits + 1)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; SSP_DATA_BYTES(databits)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (((databits) &amp;gt; SSP_BITS_8) ? 2 : 1)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; SSP_LO_BYTE_MSK(databits) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ((SSP_DATA_BYTES(databits) &amp;gt; 1) ? 0xFF : (0xFF &amp;gt;&amp;gt; \&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;(8 - SSP_DATA_BIT_NUM(databits))))&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; SSP_HI_BYTE_MSK(databits) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ((SSP_DATA_BYTES(databits) &amp;gt; 1) ? (0xFF &amp;gt;&amp;gt; \&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;(16 - SSP_DATA_BIT_NUM(databits))) : 0)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; LPC_SSP &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LPC_SSP0&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; SSP_IRQ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SSP0_IRQn&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt; SSPIRQHANDLER &amp;nbsp; &amp;nbsp; SSP0_IRQHandler&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/* &lt;SPAN style="text-decoration: underline;"&gt;Tx&lt;/SPAN&gt; buffer */&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="color: #006141;"&gt;uint8_t&lt;/SPAN&gt; Tx_Buf[24];&amp;nbsp; &amp;nbsp; &lt;SPAN style="color: #4e9072;"&gt;// RAM&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/* &lt;SPAN style="text-decoration: underline;"&gt;Rx&lt;/SPAN&gt; buffer */&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="color: #006141;"&gt;uint8_t&lt;/SPAN&gt; Rx_Buf[8];&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #006141; font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;static&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;SSP_ConfigFormat&lt;SPAN style="color: #000000;"&gt; ssp_format;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #006141; font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;static&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;Chip_SSP_DATA_SETUP_T&lt;SPAN style="color: #000000;"&gt; xf_setup;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="color: #931a68;"&gt;volatile&lt;/SPAN&gt; &lt;SPAN style="color: #006141;"&gt;uint8_t&lt;/SPAN&gt;&amp;nbsp; isXferCompleted = 0;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;#define&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; TICKRATE_HZ (1) &lt;/SPAN&gt;/* 1 ticks per second */&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/*****************************************************************************&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;* Public types/enumerations/variables&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;****************************************************************************/&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/* Set pin &lt;SPAN style="text-decoration: underline;"&gt;mux&lt;/SPAN&gt; for SSP operation */&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt; Init_SSP_PinMux(&lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt;)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;{&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_IOCON_PinMuxSet(LPC_IOCON, &lt;SPAN style="color: #0326cc;"&gt;IOCON_PIO0_8&lt;/SPAN&gt;, (IOCON_FUNC1 | IOCON_MODE_INACT));&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #4e9072;"&gt;/* MISO0 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_IOCON_PinMuxSet(LPC_IOCON, &lt;SPAN style="color: #0326cc;"&gt;IOCON_PIO0_9&lt;/SPAN&gt;, (IOCON_FUNC1 | IOCON_MODE_INACT));&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #4e9072;"&gt;/* MOSI0 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_IOCON_PinMuxSet(LPC_IOCON, &lt;SPAN style="color: #0326cc;"&gt;IOCON_PIO0_2&lt;/SPAN&gt;, (IOCON_FUNC1 | IOCON_MODE_INACT));&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #4e9072;"&gt;/* SSEL0 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_IOCON_PinMuxSet(LPC_IOCON, &lt;SPAN style="color: #0326cc;"&gt;IOCON_PIO2_11&lt;/SPAN&gt;, (IOCON_FUNC1 | IOCON_MODE_INACT));&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #4e9072;"&gt;/* SCK0 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_IOCON_PinLocSel(LPC_IOCON, &lt;SPAN style="color: #0326cc;"&gt;IOCON_SCKLOC_PIO2_11&lt;/SPAN&gt;);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;}&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/*****************************************************************************&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;* Private functions&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;****************************************************************************/&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/* Initialize buffer */&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt; Buffer_Init(&lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt;)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;{&lt;/P&gt;&lt;P style="color: #006141; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;uint16_t&lt;SPAN style="color: #000000;"&gt; i;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;// send wake up signal&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;// wait for T_WAKE=100-300 us&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;//Configuration Commands&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;//use default configuration first&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[0]=0x80;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[1]=0x01;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[2]=0x4D;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[3]=0x7A;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;// write configuration register 0-5&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[4]=0xFC;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[5]=0x00;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[6]=0x00;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[7]=0x00;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[8]=0x00;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[9]=0x00;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;//send PEC&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[10]=0x4F;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[11]=0x82;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;// &lt;SPAN style="text-decoration: underline;"&gt;adc&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[12]=0x83;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[13]=0x70;&lt;/SPAN&gt;// CMD1 select all cells measurement&amp;nbsp; DCP =1&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[14]=0xDF;&lt;SPAN style="color: #4e9072;"&gt;//PEC&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[15]=0x56;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;//polling&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[16]=0x87;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[17]=0x14;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[18]=0x83;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[19]=0x78;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;//GET ALL THE SUM OF ALL CELL MEASURMENT Read status register Group A&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[20]=0x80;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[21]=0x10;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[22]=0x9D;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Tx_Buf[23]=0x66;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;// 6 bytes from status register Group A&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #931a68;"&gt;for&lt;/SPAN&gt; (i = 0; i &amp;lt; 8; i++) {&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Rx_Buf[i] = 0xAA;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;}&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/*****************************************************************************&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;* Public functions&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;****************************************************************************/&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/**&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;* @brief&lt;SPAN class=""&gt; &lt;/SPAN&gt;SSP interrupt handler sub-routine&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;* @return&lt;SPAN class=""&gt; &lt;/SPAN&gt;Nothing&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;*/&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt; SSPIRQHANDLER(&lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt;)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;{&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Int_Disable(LPC_SSP);&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #4e9072;"&gt;/* Disable all interrupt */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Int_RWFrames8Bits(LPC_SSP, &amp;amp;xf_setup);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #931a68;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; ((xf_setup.&lt;/SPAN&gt;&lt;SPAN style="color: #0326cc;"&gt;tx_cnt&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; != xf_setup.&lt;/SPAN&gt;&lt;SPAN style="color: #0326cc;"&gt;length&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;) ||&amp;nbsp;xf_setup.r&lt;SPAN style="color: #0326cc;"&gt;x_cnt&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp;&amp;lt;8&lt;/SPAN&gt;) { &lt;/SPAN&gt;//|| (xf_setup.rx_cnt != xf_setup.length) &amp;nbsp;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Int_Enable(LPC_SSP);&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #4e9072;"&gt;/* enable all interrupts */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="color: #931a68; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;else&lt;SPAN style="color: #000000;"&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;isXferCompleted = 1;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;}&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;//&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;/**&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;* @brief timer&amp;nbsp;interrupt handler sub-routine&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;* @return&lt;SPAN class=""&gt; &lt;/SPAN&gt;Nothing&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&amp;nbsp;*/&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt; TIMER32_0_IRQHandler(&lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt;)&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;{&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #931a68;"&gt;if&lt;/SPAN&gt; (Chip_TIMER_MatchPending(LPC_TIMER32_0, 1)) {&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_TIMER_ClearMatch(LPC_TIMER32_0, 1);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Enable(LPC_SSP);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="color: #4e9072;"&gt;// enable SSP communication&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Buffer_Init();&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;xf_setup.&lt;SPAN style="color: #0326cc;"&gt;length&lt;/SPAN&gt; = 24;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;xf_setup.&lt;/SPAN&gt;&lt;SPAN style="color: #0326cc;"&gt;tx_data&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = Tx_Buf;&amp;nbsp; &lt;/SPAN&gt;//&amp;nbsp; assign the address of the first number&amp;nbsp; to the pointer&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;xf_setup.&lt;/SPAN&gt;&lt;SPAN style="color: #0326cc;"&gt;rx_data&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = Rx_Buf; &amp;nbsp; &lt;/SPAN&gt;// assign the address of the first number&amp;nbsp; to the pointer&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;xf_setup.&lt;SPAN style="color: #0326cc;"&gt;rx_cnt&lt;/SPAN&gt; = 0;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;xf_setup.&lt;SPAN style="color: #0326cc;"&gt;tx_cnt&lt;/SPAN&gt; = 0;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Int_FlushData(LPC_SSP);&lt;/SPAN&gt;/* flush dummy data from SSP FiFO */&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Int_RWFrames8Bits(LPC_SSP, &amp;amp;xf_setup);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Int_Enable(LPC_SSP);&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #4e9072;"&gt;/* enable interrupt */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #931a68;"&gt;while&lt;/SPAN&gt; (!isXferCompleted) {&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;isXferCompleted=0;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Disable(LPC_SSP);&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;}&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;}&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN style="color: #931a68;"&gt;int&lt;/SPAN&gt; main(&lt;SPAN style="color: #931a68;"&gt;void&lt;/SPAN&gt;){&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;/* =================this part is the main function part==============&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt; * initialization &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;SystemCoreClockUpdate();&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Board_Init();&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;/* =================SSP initialization ============*/&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Init_SSP_PinMux();&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Init(LPC_SSP);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #0326cc; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;ssp_format.&lt;/SPAN&gt;frameFormat&lt;SPAN style="color: #000000;"&gt; = &lt;/SPAN&gt;SSP_FRAMEFORMAT_SPI&lt;SPAN style="color: #000000;"&gt;; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #4e9072;"&gt;// SPI Frame format&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;ssp_format.&lt;SPAN style="color: #0326cc;"&gt;bits&lt;/SPAN&gt; = SSP_DATA_BITS;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="color: #4e9072;"&gt;// set 8 bits&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;ssp_format.&lt;/SPAN&gt;&lt;SPAN style="color: #0326cc;"&gt;clockMode&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = &lt;/SPAN&gt;&lt;SPAN style="color: #0326cc;"&gt;SSP_CLOCK_MODE3&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;// clock mode as CPHA=1, CPOL=1&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_SetFormat(LPC_SSP, ssp_format.&lt;SPAN style="color: #0326cc;"&gt;bits&lt;/SPAN&gt;, ssp_format.&lt;SPAN style="color: #0326cc;"&gt;frameFormat&lt;/SPAN&gt;, ssp_format.&lt;SPAN style="color: #0326cc;"&gt;clockMode&lt;/SPAN&gt;);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_SetMaster(LPC_SSP, 1); &amp;nbsp; &lt;SPAN style="color: #4e9072;"&gt;// SET MCU as master&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_SetBitRate(LPC_SSP, 10000); &amp;nbsp; &lt;SPAN style="color: #4e9072;"&gt;//set bit rate here t_CLK&amp;gt;=1 us!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_SSP_Enable(LPC_SSP);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="color: #4e9072;"&gt;// enable SSP communication&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;NVIC_EnableIRQ(SSP_IRQ);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Buffer_Init();&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;xf_setup.&lt;SPAN style="color: #0326cc;"&gt;length&lt;/SPAN&gt; = 24;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;xf_setup.&lt;/SPAN&gt;&lt;SPAN style="color: #0326cc;"&gt;tx_data&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = Tx_Buf;&amp;nbsp; &lt;/SPAN&gt;//&amp;nbsp; assign the address of the first number&amp;nbsp; to the pointer&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;xf_setup.&lt;/SPAN&gt;&lt;SPAN style="color: #0326cc;"&gt;rx_data&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = Rx_Buf; &amp;nbsp; &lt;/SPAN&gt;// assign the address of the first number&amp;nbsp; to the pointer&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;xf_setup.&lt;SPAN style="color: #0326cc;"&gt;rx_cnt&lt;/SPAN&gt; = 0;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;xf_setup.&lt;SPAN style="color: #0326cc;"&gt;tx_cnt&lt;/SPAN&gt; = 0;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;/* Timer configuration*/&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_TIMER_Init(LPC_TIMER32_0);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #006141;"&gt;uint32_t&lt;/SPAN&gt; timerFreq = Chip_Clock_GetSystemClockRate();&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_TIMER_Reset(LPC_TIMER32_0);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_TIMER_MatchEnableInt(LPC_TIMER32_0, 1);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_TIMER_SetMatch(LPC_TIMER32_0, 1, (timerFreq / TICKRATE_HZ));&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_TIMER_ResetOnMatchEnable(LPC_TIMER32_0, 1);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;Chip_TIMER_Enable(LPC_TIMER32_0);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #4e9072; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;//&lt;SPAN class=""&gt; &lt;/SPAN&gt; Enable timer interrupt&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;NVIC_ClearPendingIRQ(&lt;SPAN style="color: #0326cc;"&gt;TIMER_32_0_IRQn&lt;/SPAN&gt;);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;NVIC_EnableIRQ(&lt;SPAN style="color: #0326cc;"&gt;TIMER_32_0_IRQn&lt;/SPAN&gt;);&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #931a68;"&gt;while&lt;/SPAN&gt; (1) {&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;__WFI();&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;}&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;&lt;/P&gt;&lt;P style="color: #931a68; font-size: 11px;"&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;return&lt;SPAN style="color: #000000;"&gt; 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 11px;"&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Nov 2017 15:16:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C14-SPI-communication/m-p/765254#M30800</guid>
      <dc:creator>kangkangli</dc:creator>
      <dc:date>2017-11-09T15:16:35Z</dc:date>
    </item>
    <item>
      <title>Re: LPC11C14 SPI communication</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C14-SPI-communication/m-p/765255#M30801</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kangkang,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; You can test the official lpc11c24 lpcopen code on your side directly, change the MCU from LPC11C24 to LPC11C14.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A class="link-titled" href="https://www.nxp.com/downloads/en/software/lpcopen_v2_00a_lpcxpresso_nxp_lpcxpresso_11c24.zip" title="https://www.nxp.com/downloads/en/software/lpcopen_v2_00a_lpcxpresso_nxp_lpcxpresso_11c24.zip"&gt;https://www.nxp.com/downloads/en/software/lpcopen_v2_00a_lpcxpresso_nxp_lpcxpresso_11c24.zip&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; I have test the official ssp project, the SPI master works OK.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; This is my SPI pin wave:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_3.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/33224iDD96C7D395E6D62D/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_3.png" alt="pastedImage_3.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I didn't connect MISO, so the MISO data is invalid, but you can see the MOSI, it is correct.&lt;/P&gt;&lt;P&gt;&amp;nbsp;Besides, you need to check the pin:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_&lt;STRONG&gt;PIO0_8&lt;/STRONG&gt;, (IOCON_FUNC1 | IOCON_MODE_INACT));&amp;nbsp;&amp;nbsp; &amp;nbsp;/* MISO0 */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_&lt;STRONG&gt;PIO0_9&lt;/STRONG&gt;, (IOCON_FUNC1 | IOCON_MODE_INACT));&amp;nbsp;&amp;nbsp; &amp;nbsp;/* MOSI0 */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_&lt;STRONG&gt;PIO0_2&lt;/STRONG&gt;, (IOCON_FUNC1 | IOCON_MODE_INACT));&amp;nbsp;&amp;nbsp; &amp;nbsp;/* SSEL0 */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_&lt;STRONG&gt;PIO2_11&lt;/STRONG&gt;, (IOCON_FUNC1 | IOCON_MODE_INACT));&amp;nbsp;&amp;nbsp; &amp;nbsp;/* SCK0 */&lt;/P&gt;&lt;P&gt;&amp;nbsp; Please use the official code directly, after it works, then you can add your timer and test it again.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wish it helps you!&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&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>Wed, 15 Nov 2017 08:11:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC11C14-SPI-communication/m-p/765255#M30801</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2017-11-15T08:11:03Z</dc:date>
    </item>
  </channel>
</rss>

