<?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: ADC mid values in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADC-mid-values/m-p/1474021#M49166</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;void main()&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;......................&lt;/P&gt;
&lt;P&gt;Pls try to modify your code like:&lt;/P&gt;
&lt;P&gt;#define TOTAL_AVERAGE_NUMBER 200&lt;BR /&gt;uint16_t uivoltage;&lt;BR /&gt;float temp, totalTemp; &lt;BR /&gt;//channel 0 average temperature&lt;BR /&gt;&lt;BR /&gt;//uint16_t temp1=HW_ADC_Read(0);&lt;BR /&gt;totalTemp=0; &lt;BR /&gt;for (uint16_t i=0; i&amp;lt;TOTAL_AVERAGE_NUMBER; i++)&lt;BR /&gt;{&lt;BR /&gt;uivoltage=HW_ADC_Read(0);&lt;BR /&gt;temp=calcTemp(uivoltage);&lt;BR /&gt;totalTemp+=temp;&lt;/P&gt;
&lt;P&gt;}&lt;BR /&gt;temp=totalTemp/TOTAL_AVERAGE_NUMBER; //the temp is the average temperature in float format.&lt;/P&gt;
&lt;P&gt;//channel 1 average temperature&lt;BR /&gt;&lt;BR /&gt;//uint16_t temp1=HW_ADC_Read(1);&lt;BR /&gt;totalTemp=0; &lt;BR /&gt;for (uint16_t i=0; i&amp;lt;TOTAL_AVERAGE_NUMBER; i++)&lt;BR /&gt;{&lt;BR /&gt;uivoltage=HW_ADC_Read(1);&lt;BR /&gt;temp=calcTemp(uivoltage);&lt;BR /&gt;totalTemp+=temp;&lt;/P&gt;
&lt;P&gt;}&lt;BR /&gt;temp=totalTemp/TOTAL_AVERAGE_NUMBER; //the temp is the average temperature in float format.&lt;/P&gt;
&lt;P&gt;.........&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;float calcTemp(uint16_t voltage) &lt;BR /&gt;{&lt;BR /&gt;float temp;&lt;BR /&gt;temp=(volatge*3.6F)/4.096;&lt;BR /&gt;return temp;&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;Hope it can help you&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;XiangJun Rong&lt;/P&gt;</description>
    <pubDate>Wed, 15 Jun 2022 03:05:02 GMT</pubDate>
    <dc:creator>xiangjun_rong</dc:creator>
    <dc:date>2022-06-15T03:05:02Z</dc:date>
    <item>
      <title>ADC mid values</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADC-mid-values/m-p/1473827#M49162</link>
      <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/26034"&gt;@xiangjun_rong&lt;/a&gt;&amp;nbsp;Hello, now thanks to you my code works with all adc channels, however when I used interrupt I used a function to calculate the mid values of 200 samples of my sensors, but now I don't use adc interrupt and I don't know how can I use the function to calculate the mid value.&lt;/P&gt;&lt;P&gt;So as you can see I used to calculate the mid value when I used adc interrupt, but now I don't know how properly can I use calcTemp function. I once again added the intact project&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;Alex&lt;/P&gt;&lt;P&gt;void calcTemp(uint16_t voltage, float temp) {&lt;BR /&gt;&lt;BR /&gt;calcVolt=(volatge*3.6F)/4096;&lt;BR /&gt;temp=(calcVolt*1000.0F);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;total+=temp;&lt;BR /&gt;countOfSum++;&lt;BR /&gt;if(countOfSum==200)&lt;BR /&gt;{&lt;BR /&gt;countOfSum=0;&lt;BR /&gt;realTemp=total/200.0F;&lt;BR /&gt;total=0;&lt;BR /&gt;flagOfTemp=1;&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;else&lt;BR /&gt;ADC_StartCmd(LPC_ADC,ADC_START_NOW);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;void ADC_IRQHandler()&lt;BR /&gt;{&lt;BR /&gt;if(ADC_ChannelGetStatus(LPC_ADC,ADC_CHANNEL_0,ADC_DATA_DONE)==0)&lt;BR /&gt;{&lt;BR /&gt;float temp;&lt;BR /&gt;volatge=ADC_ChannelGetData(LPC_ADC,ADC_CHANNEL_0);&lt;BR /&gt;/*&lt;BR /&gt;3 4096&lt;BR /&gt;x volt&lt;BR /&gt;x=volt*3/4096&lt;BR /&gt;*/&lt;BR /&gt;&lt;BR /&gt;calcTemp(volatge,temp);&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;if(ADC_ChannelGetStatus(LPC_ADC,ADC_CHANNEL_1,ADC_DATA_DONE)==0)&lt;BR /&gt;{&lt;BR /&gt;float temp;&lt;BR /&gt;volatge=ADC_ChannelGetData(LPC_ADC,ADC_CHANNEL_1);&lt;BR /&gt;&lt;BR /&gt;calcTemp(volatge,temp);&lt;BR /&gt;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Jun 2022 17:43:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADC-mid-values/m-p/1473827#M49162</guid>
      <dc:creator>Alexshea</dc:creator>
      <dc:date>2022-06-14T17:43:38Z</dc:date>
    </item>
    <item>
      <title>Re: ADC mid values</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADC-mid-values/m-p/1474021#M49166</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;void main()&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;......................&lt;/P&gt;
&lt;P&gt;Pls try to modify your code like:&lt;/P&gt;
&lt;P&gt;#define TOTAL_AVERAGE_NUMBER 200&lt;BR /&gt;uint16_t uivoltage;&lt;BR /&gt;float temp, totalTemp; &lt;BR /&gt;//channel 0 average temperature&lt;BR /&gt;&lt;BR /&gt;//uint16_t temp1=HW_ADC_Read(0);&lt;BR /&gt;totalTemp=0; &lt;BR /&gt;for (uint16_t i=0; i&amp;lt;TOTAL_AVERAGE_NUMBER; i++)&lt;BR /&gt;{&lt;BR /&gt;uivoltage=HW_ADC_Read(0);&lt;BR /&gt;temp=calcTemp(uivoltage);&lt;BR /&gt;totalTemp+=temp;&lt;/P&gt;
&lt;P&gt;}&lt;BR /&gt;temp=totalTemp/TOTAL_AVERAGE_NUMBER; //the temp is the average temperature in float format.&lt;/P&gt;
&lt;P&gt;//channel 1 average temperature&lt;BR /&gt;&lt;BR /&gt;//uint16_t temp1=HW_ADC_Read(1);&lt;BR /&gt;totalTemp=0; &lt;BR /&gt;for (uint16_t i=0; i&amp;lt;TOTAL_AVERAGE_NUMBER; i++)&lt;BR /&gt;{&lt;BR /&gt;uivoltage=HW_ADC_Read(1);&lt;BR /&gt;temp=calcTemp(uivoltage);&lt;BR /&gt;totalTemp+=temp;&lt;/P&gt;
&lt;P&gt;}&lt;BR /&gt;temp=totalTemp/TOTAL_AVERAGE_NUMBER; //the temp is the average temperature in float format.&lt;/P&gt;
&lt;P&gt;.........&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;float calcTemp(uint16_t voltage) &lt;BR /&gt;{&lt;BR /&gt;float temp;&lt;BR /&gt;temp=(volatge*3.6F)/4.096;&lt;BR /&gt;return temp;&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;Hope it can help you&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;XiangJun Rong&lt;/P&gt;</description>
      <pubDate>Wed, 15 Jun 2022 03:05:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADC-mid-values/m-p/1474021#M49166</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2022-06-15T03:05:02Z</dc:date>
    </item>
    <item>
      <title>Re: ADC mid values</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADC-mid-values/m-p/1474460#M49179</link>
      <description>&lt;P&gt;Thank you so much. Will try that&lt;/P&gt;</description>
      <pubDate>Wed, 15 Jun 2022 12:50:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADC-mid-values/m-p/1474460#M49179</guid>
      <dc:creator>Alexshea</dc:creator>
      <dc:date>2022-06-15T12:50:23Z</dc:date>
    </item>
    <item>
      <title>Re: ADC mid values</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/ADC-mid-values/m-p/1501642#M49773</link>
      <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/26034"&gt;@xiangjun_rong&lt;/a&gt;&amp;nbsp;&amp;nbsp;Hi, I used the code that you recommended, but it doesn't work and I don't receive any temperature. Could you please check the code once again. I added the whole project as you asked&lt;/P&gt;</description>
      <pubDate>Fri, 05 Aug 2022 07:43:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/ADC-mid-values/m-p/1501642#M49773</guid>
      <dc:creator>Alexshea</dc:creator>
      <dc:date>2022-08-05T07:43:18Z</dc:date>
    </item>
  </channel>
</rss>

