<?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 How to use DAC.  in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/How-to-use-DAC/m-p/553056#M12586</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by yohvd on Sun Dec 15 03:34:36 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm beginner with LPC1769 and I have to use the digital analog converter but It seems I didn't understand all registers because it doesn't work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The code (show below) is a dac test. I increment a value (i) which is put in DACR. When i attend a max value, I decrement.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The clock used as peripheral clock is the IRC clock at 4 MHZ. To set my settling time at 10 KHz, I set CNTVAL at 400. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;#include&amp;nbsp; &amp;lt;cr_section_macros.h&amp;gt;&lt;BR /&gt;#include&amp;nbsp; &amp;lt;NXP/crp.h&amp;gt;&lt;BR /&gt;&lt;BR /&gt;__CRP const unsigned int CRP_WORD = CRP_NO_CRP;&lt;BR /&gt;&lt;BR /&gt;#include "lpc17xx.h"&lt;BR /&gt;#include "type.h"&lt;BR /&gt;#include "dac.h"&lt;BR /&gt;&lt;BR /&gt;///////////////////////////////////////////////////&lt;BR /&gt;void initclock(void);&lt;BR /&gt;void DACInit(void);&lt;BR /&gt;&lt;BR /&gt;///////////////////////////Main///////////////////////////////////&lt;BR /&gt;int main(void)&lt;BR /&gt;{&lt;BR /&gt;initclock();&lt;BR /&gt;DACInit();&lt;BR /&gt;uint32_t value = 51; &lt;BR /&gt;uint32_t i = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0 ;i&amp;lt;=value; i++ )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_DAC-&amp;gt;CR |= (10*i &amp;lt;&amp;lt; 6);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=value; i&amp;gt;=0;i--)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_DAC-&amp;gt;CR |= (i*10 &amp;lt;&amp;lt; 6);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;///////////////////////////initialisation///////////////////////////////////&lt;BR /&gt;void DACInit( void )&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; /* setup the related pin to DAC output */&lt;BR /&gt;&amp;nbsp; LPC_PINCON-&amp;gt;PINSEL1 = (1&amp;lt;&amp;lt;21);/* set p0.26 to DAC output */&lt;BR /&gt;&amp;nbsp; LPC_DAC-&amp;gt;CR = 0;&lt;BR /&gt;&amp;nbsp; LPC_DAC-&amp;gt;CTRL = (0&amp;lt;&amp;lt;1)|(1&amp;lt;&amp;lt;2); &lt;BR /&gt;&amp;nbsp; LPC_DAC-&amp;gt;CNTVAL = 0x0190;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*counter set at 400*/&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;void initclock( void ) /*init peripheral clock at 4MHZ */&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;LPC_SC-&amp;gt;CLKSRCSEL = 0x00; &lt;BR /&gt;LPC_SC-&amp;gt;PLL0CON = 0x01; &lt;BR /&gt;LPC_SC-&amp;gt;PLL0FEED = 0xAA;&lt;BR /&gt;LPC_SC-&amp;gt;PLL0FEED = 0x55;&lt;BR /&gt;LPC_SC-&amp;gt;PLL0CFG = 0x3B; &lt;BR /&gt;LPC_SC-&amp;gt;PLL0FEED = 0xAA;&lt;BR /&gt;LPC_SC-&amp;gt;PLL0FEED = 0x55;&lt;BR /&gt;while (!(LPC_SC-&amp;gt;PLL0STAT &amp;amp; (1&amp;lt;&amp;lt;26)));&lt;BR /&gt;LPC_SC-&amp;gt;PLL0CON = 0x03; &lt;BR /&gt;LPC_SC-&amp;gt;PLL0FEED = 0xAA;&lt;BR /&gt;LPC_SC-&amp;gt;PLL0FEED = 0x55;&lt;BR /&gt;while (!(LPC_SC-&amp;gt;PLL0STAT &amp;amp; ((1&amp;lt;&amp;lt;25) | (1&amp;lt;&amp;lt;24))));&lt;BR /&gt;&lt;BR /&gt;LPC_SC-&amp;gt;CCLKCFG&amp;nbsp; = 0x00000078; &lt;BR /&gt;LPC_SC-&amp;gt;PCLKSEL0&amp;nbsp; |= (1&amp;lt;&amp;lt;22);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;LPC_SC-&amp;gt;CLKOUTCFG |= 2;&lt;BR /&gt;LPC_SC-&amp;gt;CLKOUTCFG |= (1&amp;lt;&amp;lt;8);&lt;BR /&gt;LPC_PINCON-&amp;gt;PINSEL3 |= (1&amp;lt;&amp;lt;22);/*used to see CLKOUT on P1.27. It works */&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;/*********************************************************************************&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Of File&lt;BR /&gt;*********************************************************************************/&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for help.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Yohvd&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 22:13:30 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T22:13:30Z</dc:date>
    <item>
      <title>How to use DAC.</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/How-to-use-DAC/m-p/553056#M12586</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by yohvd on Sun Dec 15 03:34:36 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm beginner with LPC1769 and I have to use the digital analog converter but It seems I didn't understand all registers because it doesn't work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The code (show below) is a dac test. I increment a value (i) which is put in DACR. When i attend a max value, I decrement.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The clock used as peripheral clock is the IRC clock at 4 MHZ. To set my settling time at 10 KHz, I set CNTVAL at 400. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;#include&amp;nbsp; &amp;lt;cr_section_macros.h&amp;gt;&lt;BR /&gt;#include&amp;nbsp; &amp;lt;NXP/crp.h&amp;gt;&lt;BR /&gt;&lt;BR /&gt;__CRP const unsigned int CRP_WORD = CRP_NO_CRP;&lt;BR /&gt;&lt;BR /&gt;#include "lpc17xx.h"&lt;BR /&gt;#include "type.h"&lt;BR /&gt;#include "dac.h"&lt;BR /&gt;&lt;BR /&gt;///////////////////////////////////////////////////&lt;BR /&gt;void initclock(void);&lt;BR /&gt;void DACInit(void);&lt;BR /&gt;&lt;BR /&gt;///////////////////////////Main///////////////////////////////////&lt;BR /&gt;int main(void)&lt;BR /&gt;{&lt;BR /&gt;initclock();&lt;BR /&gt;DACInit();&lt;BR /&gt;uint32_t value = 51; &lt;BR /&gt;uint32_t i = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0 ;i&amp;lt;=value; i++ )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_DAC-&amp;gt;CR |= (10*i &amp;lt;&amp;lt; 6);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=value; i&amp;gt;=0;i--)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_DAC-&amp;gt;CR |= (i*10 &amp;lt;&amp;lt; 6);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;///////////////////////////initialisation///////////////////////////////////&lt;BR /&gt;void DACInit( void )&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; /* setup the related pin to DAC output */&lt;BR /&gt;&amp;nbsp; LPC_PINCON-&amp;gt;PINSEL1 = (1&amp;lt;&amp;lt;21);/* set p0.26 to DAC output */&lt;BR /&gt;&amp;nbsp; LPC_DAC-&amp;gt;CR = 0;&lt;BR /&gt;&amp;nbsp; LPC_DAC-&amp;gt;CTRL = (0&amp;lt;&amp;lt;1)|(1&amp;lt;&amp;lt;2); &lt;BR /&gt;&amp;nbsp; LPC_DAC-&amp;gt;CNTVAL = 0x0190;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*counter set at 400*/&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;void initclock( void ) /*init peripheral clock at 4MHZ */&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;LPC_SC-&amp;gt;CLKSRCSEL = 0x00; &lt;BR /&gt;LPC_SC-&amp;gt;PLL0CON = 0x01; &lt;BR /&gt;LPC_SC-&amp;gt;PLL0FEED = 0xAA;&lt;BR /&gt;LPC_SC-&amp;gt;PLL0FEED = 0x55;&lt;BR /&gt;LPC_SC-&amp;gt;PLL0CFG = 0x3B; &lt;BR /&gt;LPC_SC-&amp;gt;PLL0FEED = 0xAA;&lt;BR /&gt;LPC_SC-&amp;gt;PLL0FEED = 0x55;&lt;BR /&gt;while (!(LPC_SC-&amp;gt;PLL0STAT &amp;amp; (1&amp;lt;&amp;lt;26)));&lt;BR /&gt;LPC_SC-&amp;gt;PLL0CON = 0x03; &lt;BR /&gt;LPC_SC-&amp;gt;PLL0FEED = 0xAA;&lt;BR /&gt;LPC_SC-&amp;gt;PLL0FEED = 0x55;&lt;BR /&gt;while (!(LPC_SC-&amp;gt;PLL0STAT &amp;amp; ((1&amp;lt;&amp;lt;25) | (1&amp;lt;&amp;lt;24))));&lt;BR /&gt;&lt;BR /&gt;LPC_SC-&amp;gt;CCLKCFG&amp;nbsp; = 0x00000078; &lt;BR /&gt;LPC_SC-&amp;gt;PCLKSEL0&amp;nbsp; |= (1&amp;lt;&amp;lt;22);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;LPC_SC-&amp;gt;CLKOUTCFG |= 2;&lt;BR /&gt;LPC_SC-&amp;gt;CLKOUTCFG |= (1&amp;lt;&amp;lt;8);&lt;BR /&gt;LPC_PINCON-&amp;gt;PINSEL3 |= (1&amp;lt;&amp;lt;22);/*used to see CLKOUT on P1.27. It works */&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;/*********************************************************************************&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Of File&lt;BR /&gt;*********************************************************************************/&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for help.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Yohvd&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:13:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/How-to-use-DAC/m-p/553056#M12586</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:13:30Z</dc:date>
    </item>
  </channel>
</rss>

