<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Can anyone please give me a simple spi without interrupt drivers for mkl25z128vlk4 i m trying to interface a DAC IC MCP4912 with mkl25z128vlk4 but i m not getting required output pls check the below code  and help me???? in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Can-anyone-please-give-me-a-simple-spi-without-interrupt-drivers/m-p/261411#M8107</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Martyn Hunt&lt;/P&gt;&lt;P&gt;here is my optimized code agian ....i m actually trying to run this spi at 9600bps....and the pin configuration is fine but the thing is across the two DAC outputs i,e DACA and DACB i m not getting outputs across DAC A it is zero and across DAC B it is showing 4.86v can u pls helkp me out on this.....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;MKL25Z4.H&amp;gt;&lt;/P&gt;&lt;P&gt;#include "mem.h"&lt;/P&gt;&lt;P&gt;#include "common.h"&lt;/P&gt;&lt;P&gt;#define DACA&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // VoutA&lt;/P&gt;&lt;P&gt;#define DACB&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // VoutB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void spi_init( void )&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM_SCGC4 =SIM_SCGC4_SPI1_MASK;&amp;nbsp;&amp;nbsp; //Enable SPI0 Clock gate&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK|SIM_SCGC5_PORTB_MASK|SIM_SCGC5_PORTD_MASK|SIM_SCGC5_PORTE_MASK|SIM_SCGC5_PORTC_MASK;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 &amp;amp;= ~SPI_C1_SPE_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //disabling SPI1 &lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTE_PCR3 &amp;amp;= ~PORT_PCR_MUX_MASK;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //dout&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTE_PCR3 |= PORT_PCR_MUX(2)|PORT_PCR_DSE_MASK;&amp;nbsp; //Use PTE3 as SPI1_MOSI&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTE_PCR2 &amp;amp;= ~PORT_PCR_MUX_MASK;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //spi1_sck&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTE_PCR2 = PORT_PCR_MUX(2)|PORT_PCR_DSE_MASK;&amp;nbsp; //Use PTE2 as SPI1_SCK&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 &amp;amp;= (~SPI_C1_MSTR_MASK);&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 |= SPI_C1_MSTR_MASK;&amp;nbsp;&amp;nbsp; //making spi1 as a master&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_BR = 0x02;&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;&amp;nbsp;&amp;nbsp; //baudrate&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 &amp;amp;= (~SPI_C1_CPHA_MASK);&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 |= SPI_C1_CPHA_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //clock phase 1&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 &amp;amp;= (~SPI_C1_CPOL_MASK);&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 |= SPI_C1_CPOL_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //clock pol 1&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 &amp;amp;= (~SPI_C1_LSBFE_MASK);&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 |= SPI_C1_LSBFE_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //transmission starts from LSB&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 |= SPI_C1_SPE_MASK; //enabling spi1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void Delay_6us1(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; volatile uint32_t i;&lt;/P&gt;&lt;P&gt; for (i = 120; i &amp;gt; 0; i--);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void spi_send(uint8_t var)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; while (!(SPI_S_REG(SPI1_BASE_PTR) &amp;amp; SPI_S_SPTEF_MASK)); // wait for TX to become empty&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI_D_REG(SPI1_BASE_PTR) = var;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;void DAC_convert_long(char outputSelect, int data)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t upper;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t lower;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (outputSelect == DACA)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; upper = 0x70;//0b01110000;&amp;nbsp;&amp;nbsp; //DACA,buffered,outpugain selection is 5v(GA=1) i.e Vout=1x(Vref*D/1023)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; upper = 0x02;//0b11110000;&amp;nbsp; //DACB,buffered(BUF=1),Output gain selection 5v&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; upper = upper | ((int)(data &amp;gt;&amp;gt; 6));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lower = (int)(data &amp;lt;&amp;lt; 2);&lt;/P&gt;&lt;P&gt;&amp;nbsp; FPTB-&amp;gt;PCOR = 1&amp;lt;&amp;lt;1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FPTB-&amp;gt;PSOR = 1&amp;lt;&amp;lt;0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; spi_send(upper);&lt;/P&gt;&lt;P&gt;&amp;nbsp; spi_send(lower);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Delay_6us1();&lt;/P&gt;&lt;P&gt;&amp;nbsp; Delay_6us1();&lt;/P&gt;&lt;P&gt;&amp;nbsp; Delay_6us1();&lt;/P&gt;&lt;P&gt;&amp;nbsp; Delay_6us1();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FPTB-&amp;gt;PCOR = 1&amp;lt;&amp;lt;0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FPTB-&amp;gt;PSOR = 1&amp;lt;&amp;lt;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;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;void cs_ldac_init(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM-&amp;gt;SCGC5&amp;nbsp;&amp;nbsp;&amp;nbsp; |= (1 &amp;lt;&amp;lt; 10) | (1&amp;nbsp; &amp;lt;&amp;lt;&amp;nbsp; 12); &lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTB-&amp;gt;PCR[0] = (1 &amp;lt;&amp;lt;&amp;nbsp; 8);&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* ptb0 Pin for Ldac */&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTB-&amp;gt;PCR[1] = (1 &amp;lt;&amp;lt;&amp;nbsp; 8);&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* ptb1 Pin for CS */&lt;/P&gt;&lt;P&gt;&amp;nbsp; FPTB-&amp;gt;PDDR =( 1 &amp;lt;&amp;lt; 0 | 1 &amp;lt;&amp;lt; 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;int main(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; spi_init();&lt;/P&gt;&lt;P&gt;&amp;nbsp; cs_ldac_init();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; while(1)&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA,00);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 100); &lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 200);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 300);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 400);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 500);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 600);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 700);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 800);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 900);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 1023);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 00); &lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 100);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 200);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 300);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 400);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 500);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 600);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 700);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 800);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 900);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 1023);&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 10 Jul 2013 04:54:16 GMT</pubDate>
    <dc:creator>akshayhv</dc:creator>
    <dc:date>2013-07-10T04:54:16Z</dc:date>
    <item>
      <title>Can anyone please give me a simple spi without interrupt drivers for mkl25z128vlk4 i m trying to interface a DAC IC MCP4912 with mkl25z128vlk4 but i m not getting required output pls check the below code  and help me????</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Can-anyone-please-give-me-a-simple-spi-without-interrupt-drivers/m-p/261408#M8104</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;#include &amp;lt;MKL26Z4.H&amp;gt;&lt;/P&gt;&lt;P&gt;#include "mem.h"&lt;/P&gt;&lt;P&gt;#include "common.h"&lt;/P&gt;&lt;P&gt;#define DACA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // VoutA&lt;/P&gt;&lt;P&gt;#define DACB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // VoutB&lt;/P&gt;&lt;P&gt;#define _USING_SSP&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;&amp;nbsp; SPI1 &lt;/P&gt;&lt;P&gt;//#define baudrate&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x02&lt;/P&gt;&lt;P&gt;#define MASTER&amp;nbsp;&amp;nbsp; 0x10&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void spi_init( void )&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM_SCGC4 =SIM_SCGC4_SPI1_MASK;&amp;nbsp;&amp;nbsp; //Enable SPI0 Clock gate&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SIM_COPC &amp;amp;= (~SIM_COPC_COPT_MASK); //Disable COP Watchdog&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK|SIM_SCGC5_PORTB_MASK|SIM_SCGC5_PORTD_MASK|SIM_SCGC5_PORTE_MASK|SIM_SCGC5_PORTC_MASK;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // disable SPI&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 &amp;amp;= ~SPI_C1_SPE_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* PORTE_PCR4 &amp;amp;= ~PORT_PCR_MUX_MASK;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //spi1_cs&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTE_PCR4 |= PORT_PCR_MUX(2)|PORT_PCR_DSE_MASK;&amp;nbsp; //Use PTE4 as SPI1_SS_b&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTE_PCR1 &amp;amp;= ~PORT_PCR_MUX_MASK;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //sin&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTE_PCR1 |= PORT_PCR_MUX(2)|PORT_PCR_DSE_MASK;&amp;nbsp; //Use PTE1 as SPI1_MISO &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTE_PCR3 &amp;amp;= ~PORT_PCR_MUX_MASK;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //dout&lt;/P&gt;&lt;P&gt;// PORTE_PCR3 |= PORT_PCR_MUX(2)|PORT_PCR_DSE_MASK;&amp;nbsp; //Use PTE3 as SPI1_MOSI&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTE_PCR3 |= PORT_PCR_MUX(3)|PORT_PCR_DSE_MASK;&amp;nbsp; //Use PTE3 as SPI1_MOSI&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTE_PCR2 &amp;amp;= ~PORT_PCR_MUX_MASK;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //spi1_sck&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTE_PCR2 = PORT_PCR_MUX(2)|PORT_PCR_DSE_MASK;&amp;nbsp; //Use PTE2 as SPI1_SCK*/&lt;/P&gt;&lt;P&gt;// PORTE_PCR4 &amp;amp;= ~PORT_PCR_MUX_MASK;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //spi1_cs&lt;/P&gt;&lt;P&gt;// PORTE_PCR4 |= PORT_PCR_MUX(2)|PORT_PCR_DSE_MASK;&amp;nbsp; //Use PTE4 as SPI1_SS_b&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTE_PCR1 &amp;amp;= ~PORT_PCR_MUX_MASK;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //sin&lt;/P&gt;&lt;P&gt;// PORTE_PCR1 |= PORT_PCR_MUX(2)|PORT_PCR_DSE_MASK;&amp;nbsp; //Use PTE1 as SPI1_MISO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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; SPI1_C1|=MASTER;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTE_PCR3 &amp;amp;= ~PORT_PCR_MUX_MASK;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //dout&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTE_PCR3 |= PORT_PCR_MUX(3)|PORT_PCR_DSE_MASK;&amp;nbsp; //Use PTE3 as SPI1_MOSI&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTE_PCR2 &amp;amp;= ~PORT_PCR_MUX_MASK;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //spi1_sck&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTE_PCR2 = PORT_PCR_MUX(2)|PORT_PCR_DSE_MASK;&amp;nbsp; //Use PTE2 as SPI1_SCK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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; //SPI0_C1 |= SPI_C1_MSTR_MASK;&amp;nbsp; //-----master----bus clock is 12.5Mhz--0.08us--&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_BR = 0x02;&lt;/P&gt;&lt;P&gt;&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; //&amp;nbsp; SPI0_C1 &amp;amp;= (~SPI_C1_MSTR_MASK);&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_BR = 0x43;&amp;nbsp; //SPPR = 4, SPR = 3, bps div = (SPPR+1)*2^(SPR+1) = 80,----Tspi--6.4us&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_BR = 0x40; //bps div = 10,---------0.8us&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_BR = 0x30; //bps div = 8,----------0.64us&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_BR = 0x10; //bps div = 4,----------0.32us&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_BR = 0x00; //bps div = 2,----------0.16us----6.125Mhz&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_BR = 0x54; //bps div = 192,----------15.36us&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_BR = 0x77; //bps div = 2048,----------163.84us&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; // SPI0_BR = 0x00;&lt;/P&gt;&lt;P&gt;// SPI0_C1 |= SPI_C1_SSOE_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //|SPI0_C1_CPOL_MASK|SPI0_C1_LSBFE_MASK;&lt;/P&gt;&lt;P&gt;// SPI0_C2 |= SPI_C2_MODFEN_MASK;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// SPI0_C1 |= SPI_C1_CPHA_MASK;&lt;/P&gt;&lt;P&gt;// SPI0_C1 &amp;amp;= (~SPI_C1_CPHA_MASK);&lt;/P&gt;&lt;P&gt;// SPI0_C1 |= SPI_C1_CPOL_MASK;&lt;/P&gt;&lt;P&gt;// SPI0_C1 &amp;amp;= (~SPI_C1_CPOL_MASK);&lt;/P&gt;&lt;P&gt;// //SPI0_C1 |= SPI_C1_LSBFE_MASK;&lt;/P&gt;&lt;P&gt;// SPI0_C1 &amp;amp;= (~SPI_C1_LSBFE_MASK);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_C1 &amp;amp;= (~SPI0_C1_SPIE_MASK);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Disable RX interrrupt&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_C1 |= SPI0_C1_SPIE_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //enable RX interrrupt&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_C1 &amp;amp;= (~SPI0_C1_SPTIE_MASK);&amp;nbsp;&amp;nbsp; //Disable the transmit interrupt &lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_C1 |= SPI0_C1_SPTIE_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Enable the transime interrupt&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;// SPI1_C1 |= SPI_C1_MSTR_MASK;&lt;/P&gt;&lt;P&gt;// SPI1_BR = 0x02;&lt;/P&gt;&lt;P&gt; //&amp;nbsp;&amp;nbsp; SPI1_C1 |= SPI_C1_MSTR_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_BR = 0x02;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // SPI1_C1 &amp;amp;= (~SPI_C1_MSTR_MASK);&amp;nbsp; //---slave----bus clock is 12.5Mhz--0.08us--&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_BR = 0x43;&amp;nbsp; //SPPR = 4, SPR = 3, bps div = (SPPR+1)*2^(SPR+1) = 80,----Tspi--6.4us&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_BR = 0x40; //bps div = 10,---------0.8us&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_BR = 0x30; //bps div = 8,----------0.64us&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_BR = 0x10; //bps div = 4,----------0.32us&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_BR = 0x00; //bps div = 2,----------0.16us----6.125Mhz&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_BR = 0x54; //bps div = 192,----------15.36us&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_BR = 0x77; //bps div = 2048,----------163.84us&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp; // SPI1_BR = 0x01;&lt;/P&gt;&lt;P&gt;// SPI1_C1 |= SPI_C1_SSOE_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp; SPI1_C2 |= SPI_C2_MODFEN_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 &amp;amp;= (~SPI_C1_CPHA_MASK);&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 |= SPI_C1_CPHA_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 &amp;amp;= (~SPI_C1_CPOL_MASK);&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 |= SPI_C1_CPOL_MASK;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 |= SPI_C1_LSBFE_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 &amp;amp;= (~SPI_C1_LSBFE_MASK);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI1_C2 |= SPI_C2_RXDMAE_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_C2 |= SPI_C2_TXDMAE_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_C2 |= SPI_C2_RXDMAE_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI1_C2 |= SPI_C2_TXDMAE_MASK;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI0_C1 |= SPI_C1_SPE_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 |= SPI_C1_SPE_MASK;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;void Delay_6us1(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; volatile uint32_t i;&lt;/P&gt;&lt;P&gt; for (i = 120; i &amp;gt; 0; i--);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void spi_send(uint8_t var)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;//while(!(SPI1-&amp;gt;S &amp;amp; SPI_S_TXFULLF_MASK));&lt;/P&gt;&lt;P&gt;// {&lt;/P&gt;&lt;P&gt;// }&lt;/P&gt;&lt;P&gt;// val-&amp;gt;DL=var;&lt;/P&gt;&lt;P&gt;&amp;nbsp; //val-&amp;gt;DH=var;&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SPI1-&amp;gt;DH=var;&lt;/P&gt;&lt;P&gt;&amp;nbsp; while ((SPI_S_REG(SPI1_BASE_PTR) &amp;amp; SPI_S_SPTEF_MASK) == 0x00); // wait for TX to become empty&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI_D_REG(SPI1_BASE_PTR) = var;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;void DAC_convert_long(char outputSelect, int data)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t upper;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t lower;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (outputSelect == DACA)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; upper = 0x70;//0b01110000;&amp;nbsp;&amp;nbsp; //DACA,buffered,outpugain selection is 5v(GA=1) i.e Vout=1x(Vref*D/1023)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; upper = 0x02;//0b11110000;&amp;nbsp; //DACB,buffered(BUF=1),Output gain selection 5v&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; upper = upper | ((int)(data &amp;gt;&amp;gt; 6));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lower = (int)(data &amp;lt;&amp;lt; 2);&lt;/P&gt;&lt;P&gt;&amp;nbsp; //SHDN=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; FPTB-&amp;gt;PCOR = 1&amp;lt;&amp;lt;1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FPTB-&amp;gt;PSOR = 1&amp;lt;&amp;lt;0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; spi_send(/*_USING_SSP*/upper);&lt;/P&gt;&lt;P&gt;&amp;nbsp; spi_send(/*_USING_SSP*/lower);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Delay_6us1();&lt;/P&gt;&lt;P&gt;&amp;nbsp; Delay_6us1();&lt;/P&gt;&lt;P&gt;&amp;nbsp; Delay_6us1();&lt;/P&gt;&lt;P&gt;&amp;nbsp; Delay_6us1();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FPTB-&amp;gt;PCOR = 1&amp;lt;&amp;lt;0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FPTB-&amp;gt;PSOR = 1&amp;lt;&amp;lt;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;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;void cs_ldac_init(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM-&amp;gt;SCGC5&amp;nbsp;&amp;nbsp;&amp;nbsp; |= (1 &amp;lt;&amp;lt; 10) | (1&amp;nbsp; &amp;lt;&amp;lt;&amp;nbsp; 12); &lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTB-&amp;gt;PCR[0] = (1 &amp;lt;&amp;lt;&amp;nbsp; 8);&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* ptb0 Pin for Ldac */&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTB-&amp;gt;PCR[1] = (1 &amp;lt;&amp;lt;&amp;nbsp; 8);&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* ptb1 Pin for CS */&lt;/P&gt;&lt;P&gt;&amp;nbsp; FPTB-&amp;gt;PDDR =( 1 &amp;lt;&amp;lt; 0 | 1 &amp;lt;&amp;lt; 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;int main(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; cs_ldac_init();&lt;/P&gt;&lt;P&gt;&amp;nbsp; spi_init();&lt;/P&gt;&lt;P&gt;&amp;nbsp; while(1)&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 00);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 100); &lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 200);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 300);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 400);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 500);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 600);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 700);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 800);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 900);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 1023);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 00); &lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 100);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 200);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 300);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 400);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 500);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 600);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 700);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 800);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 900);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 1023);&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Jul 2013 04:32:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Can-anyone-please-give-me-a-simple-spi-without-interrupt-drivers/m-p/261408#M8104</guid>
      <dc:creator>akshayhv</dc:creator>
      <dc:date>2013-07-09T04:32:43Z</dc:date>
    </item>
    <item>
      <title>Re: Can anyone please give me a simple spi without interrupt drivers for mkl25z128vlk4 i m trying to interface a DAC IC MCP4912 with mkl25z128vlk4 but i m not getting required output pls check the below code  and help me????</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Can-anyone-please-give-me-a-simple-spi-without-interrupt-drivers/m-p/261409#M8105</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Akshay,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try using the file I have attached. It is a very simple SPI master setup. Also, what baudrate are you trying to achieve?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know if this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Martyn&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Jul 2013 14:03:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Can-anyone-please-give-me-a-simple-spi-without-interrupt-drivers/m-p/261409#M8105</guid>
      <dc:creator>martynhunt</dc:creator>
      <dc:date>2013-07-09T14:03:22Z</dc:date>
    </item>
    <item>
      <title>Re: Can anyone please give me a simple spi without interrupt drivers for mkl25z128vlk4 i m trying to interface a DAC IC MCP4912 with mkl25z128vlk4 but i m not getting required output pls check the below code  and help me????</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Can-anyone-please-give-me-a-simple-spi-without-interrupt-drivers/m-p/261410#M8106</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Also, you pin setup does not look correct. Pin setup should look more like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;PORTE_PCR4 = PORT_PCR_MUX(2) ;&amp;nbsp; //Use PTE4 as SPI1_SS_b&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;PORTE_PCR1 = PORT_PCR_MUX(5) ;&amp;nbsp; //Use PTE1 as SPI1_MISO&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;PORTE_PCR3 = PORT_PCR_MUX(5) ;&amp;nbsp; //Use PTE3 as SPI1_MOSI&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;PORTE_PCR2 = PORT_PCR_MUX(2) ;&amp;nbsp; //Use PTE2 as SPI1_SCK&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;or,&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;PORTE_PCR4 = PORT_PCR_MUX(2) ;&amp;nbsp; //Use PTE4 as SPI1_SS_b&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;PORTE_PCR1 = PORT_PCR_MUX(2) ;&amp;nbsp; //Use PTE1 as SPI1_&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;MOSI&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;PORTE_PCR3 = PORT_PCR_MUX(2) ;&amp;nbsp; //Use PTE3 as SPI1_MISO&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;PORTE_PCR2 = PORT_PCR_MUX(2) ;&amp;nbsp; //Use PTE2 as SPI1_SCK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;See Chapter 10 section 10.3.1 for reference.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Martyn&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited to remove unnecessary DSE bit setting. See Chapter 10 Table 10-2. &#xD;
&#xD;
Message was edited by: Martyn Hunt&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Jul 2013 14:19:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Can-anyone-please-give-me-a-simple-spi-without-interrupt-drivers/m-p/261410#M8106</guid>
      <dc:creator>martynhunt</dc:creator>
      <dc:date>2013-07-09T14:19:18Z</dc:date>
    </item>
    <item>
      <title>Re: Can anyone please give me a simple spi without interrupt drivers for mkl25z128vlk4 i m trying to interface a DAC IC MCP4912 with mkl25z128vlk4 but i m not getting required output pls check the below code  and help me????</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Can-anyone-please-give-me-a-simple-spi-without-interrupt-drivers/m-p/261411#M8107</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Martyn Hunt&lt;/P&gt;&lt;P&gt;here is my optimized code agian ....i m actually trying to run this spi at 9600bps....and the pin configuration is fine but the thing is across the two DAC outputs i,e DACA and DACB i m not getting outputs across DAC A it is zero and across DAC B it is showing 4.86v can u pls helkp me out on this.....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;MKL25Z4.H&amp;gt;&lt;/P&gt;&lt;P&gt;#include "mem.h"&lt;/P&gt;&lt;P&gt;#include "common.h"&lt;/P&gt;&lt;P&gt;#define DACA&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // VoutA&lt;/P&gt;&lt;P&gt;#define DACB&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // VoutB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void spi_init( void )&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM_SCGC4 =SIM_SCGC4_SPI1_MASK;&amp;nbsp;&amp;nbsp; //Enable SPI0 Clock gate&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK|SIM_SCGC5_PORTB_MASK|SIM_SCGC5_PORTD_MASK|SIM_SCGC5_PORTE_MASK|SIM_SCGC5_PORTC_MASK;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 &amp;amp;= ~SPI_C1_SPE_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //disabling SPI1 &lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTE_PCR3 &amp;amp;= ~PORT_PCR_MUX_MASK;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //dout&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTE_PCR3 |= PORT_PCR_MUX(2)|PORT_PCR_DSE_MASK;&amp;nbsp; //Use PTE3 as SPI1_MOSI&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTE_PCR2 &amp;amp;= ~PORT_PCR_MUX_MASK;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //spi1_sck&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTE_PCR2 = PORT_PCR_MUX(2)|PORT_PCR_DSE_MASK;&amp;nbsp; //Use PTE2 as SPI1_SCK&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 &amp;amp;= (~SPI_C1_MSTR_MASK);&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 |= SPI_C1_MSTR_MASK;&amp;nbsp;&amp;nbsp; //making spi1 as a master&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_BR = 0x02;&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;&amp;nbsp;&amp;nbsp; //baudrate&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 &amp;amp;= (~SPI_C1_CPHA_MASK);&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 |= SPI_C1_CPHA_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //clock phase 1&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 &amp;amp;= (~SPI_C1_CPOL_MASK);&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 |= SPI_C1_CPOL_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //clock pol 1&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 &amp;amp;= (~SPI_C1_LSBFE_MASK);&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 |= SPI_C1_LSBFE_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //transmission starts from LSB&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI1_C1 |= SPI_C1_SPE_MASK; //enabling spi1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void Delay_6us1(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; volatile uint32_t i;&lt;/P&gt;&lt;P&gt; for (i = 120; i &amp;gt; 0; i--);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void spi_send(uint8_t var)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; while (!(SPI_S_REG(SPI1_BASE_PTR) &amp;amp; SPI_S_SPTEF_MASK)); // wait for TX to become empty&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI_D_REG(SPI1_BASE_PTR) = var;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;void DAC_convert_long(char outputSelect, int data)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t upper;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t lower;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (outputSelect == DACA)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; upper = 0x70;//0b01110000;&amp;nbsp;&amp;nbsp; //DACA,buffered,outpugain selection is 5v(GA=1) i.e Vout=1x(Vref*D/1023)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; upper = 0x02;//0b11110000;&amp;nbsp; //DACB,buffered(BUF=1),Output gain selection 5v&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; upper = upper | ((int)(data &amp;gt;&amp;gt; 6));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lower = (int)(data &amp;lt;&amp;lt; 2);&lt;/P&gt;&lt;P&gt;&amp;nbsp; FPTB-&amp;gt;PCOR = 1&amp;lt;&amp;lt;1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FPTB-&amp;gt;PSOR = 1&amp;lt;&amp;lt;0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; spi_send(upper);&lt;/P&gt;&lt;P&gt;&amp;nbsp; spi_send(lower);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Delay_6us1();&lt;/P&gt;&lt;P&gt;&amp;nbsp; Delay_6us1();&lt;/P&gt;&lt;P&gt;&amp;nbsp; Delay_6us1();&lt;/P&gt;&lt;P&gt;&amp;nbsp; Delay_6us1();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FPTB-&amp;gt;PCOR = 1&amp;lt;&amp;lt;0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FPTB-&amp;gt;PSOR = 1&amp;lt;&amp;lt;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;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;void cs_ldac_init(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; SIM-&amp;gt;SCGC5&amp;nbsp;&amp;nbsp;&amp;nbsp; |= (1 &amp;lt;&amp;lt; 10) | (1&amp;nbsp; &amp;lt;&amp;lt;&amp;nbsp; 12); &lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTB-&amp;gt;PCR[0] = (1 &amp;lt;&amp;lt;&amp;nbsp; 8);&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* ptb0 Pin for Ldac */&lt;/P&gt;&lt;P&gt;&amp;nbsp; PORTB-&amp;gt;PCR[1] = (1 &amp;lt;&amp;lt;&amp;nbsp; 8);&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* ptb1 Pin for CS */&lt;/P&gt;&lt;P&gt;&amp;nbsp; FPTB-&amp;gt;PDDR =( 1 &amp;lt;&amp;lt; 0 | 1 &amp;lt;&amp;lt; 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;int main(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; spi_init();&lt;/P&gt;&lt;P&gt;&amp;nbsp; cs_ldac_init();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; while(1)&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA,00);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 100); &lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 200);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 300);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 400);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 500);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 600);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 700);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 800);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 900);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACA, 1023);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 00); &lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 100);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 200);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 300);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 400);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 500);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 600);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 700);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 800);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 900);&lt;/P&gt;&lt;P&gt;&amp;nbsp; DAC_convert_long(DACB, 1023);&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Jul 2013 04:54:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Can-anyone-please-give-me-a-simple-spi-without-interrupt-drivers/m-p/261411#M8107</guid>
      <dc:creator>akshayhv</dc:creator>
      <dc:date>2013-07-10T04:54:16Z</dc:date>
    </item>
    <item>
      <title>Re: Can anyone please give me a simple spi without interrupt drivers for mkl25z128vlk4 i m trying to interface a DAC IC MCP4912 with mkl25z128vlk4 but i m not getting required output pls check the below code  and help me????</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Can-anyone-please-give-me-a-simple-spi-without-interrupt-drivers/m-p/261412#M8108</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hey i m getting the out put but for this 2 case of daca and dacb i m getting the output not for anyother cases .......ya its alt5 its correct but are my cpol and cpha initialization is correct......????&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;SIM_SCGC4 =SIM_SCGC4_SPI1_MASK;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Enable SPI0 Clock gate&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK|SIM_SCGC5_PORTB_MASK|SIM_SCGC5_PORTD_MASK|SIM_SCGC5_PORTE_MASK|SIM_SCGC5_PORTC_MASK;&lt;/TD&gt;&lt;TD&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;SPI1_C1 &amp;amp;= ~SPI_C1_SPE_MASK;&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;&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;&amp;nbsp; //disabling SPI1 &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;PORTE_PCR3 &amp;amp;= ~PORT_PCR_MUX_MASK;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //dout&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;PORTE_PCR3 |= PORT_PCR_MUX(5)|PORT_PCR_DSE_MASK;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; //Use PTE3 as SPI1_MOSI&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;PORTE_PCR2 &amp;amp;= ~PORT_PCR_MUX_MASK;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //spi1_sck&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;PORTE_PCR2 = PORT_PCR_MUX(2)|PORT_PCR_DSE_MASK;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Use PTE2 as SPI1_SCK&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;SPI1_C1 &amp;amp;= (~SPI_C1_MSTR_MASK);&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;SPI1_C1 |= SPI_C1_MSTR_MASK;&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;&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;&amp;nbsp; //making spi1 as a master&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;SPI1_BR = 0x02;&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;&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;&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;&amp;nbsp; //baudrate&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;SPI1_C1 &amp;amp;= (~SPI_C1_CPHA_MASK);&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;SPI1_C1 |= SPI_C1_CPHA_MASK;&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;&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;&amp;nbsp; //clock phase 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;SPI1_C1 &amp;amp;= (~SPI_C1_CPOL_MASK);&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;SPI1_C1 |= SPI_C1_CPOL_MASK;&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;&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;&amp;nbsp; //clock pol 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;SPI1_C1 &amp;amp;= (~SPI_C1_LSBFE_MASK);&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;SPI1_C1 |= SPI_C1_LSBFE_MASK;&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;&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; //transmission starts from LSB&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;SPI1_C1 |= SPI_C1_SPE_MASK;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&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;&amp;nbsp;&amp;nbsp; //enabling spi1&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Jul 2013 07:37:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Can-anyone-please-give-me-a-simple-spi-without-interrupt-drivers/m-p/261412#M8108</guid>
      <dc:creator>akshayhv</dc:creator>
      <dc:date>2013-07-10T07:37:27Z</dc:date>
    </item>
  </channel>
</rss>

