<?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>S12 / MagniV MicrocontrollersのトピックRe: S12XE ATD on 16 Channels</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12XE-ATD-on-16-Channels/m-p/589259#M12951</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;These are the correct settings to read from 16 channels.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ray&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void Init_ATD0(void) { &lt;/P&gt;&lt;P&gt;&amp;nbsp; ATD0CTL1 = 0x30; // 10bit, Discharge before sample &lt;/P&gt;&lt;P&gt;&amp;nbsp; ATD0CTL2 = 0x42; // Fast Flag Clear All, Complete Interrupt Enable&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ATD0CTL3 = 0x80; // Right Justified, Converison Sequence Length (16) &lt;/P&gt;&lt;P&gt;&amp;nbsp; ATD0CTL4 = 0x58; // Sample Time Select 8, ATD clock 1MHz with 50 MHz bus&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ATD0CTL5 = 0x30; // Continuous conversion sequence, Multi-Channel&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 11 Aug 2016 06:50:21 GMT</pubDate>
    <dc:creator>rayhall</dc:creator>
    <dc:date>2016-08-11T06:50:21Z</dc:date>
    <item>
      <title>S12XE ATD on 16 Channels</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12XE-ATD-on-16-Channels/m-p/589258#M12950</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am using the 205 pin BGA version of the S12XE with a bus clock of 50 Mhz and the ATD clock at 1 Mhz.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I cannot get the ATD to read values in channels 8 to 15. I have no problem with 0 to 7 channels. Below is my code.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ray.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void Init_ATD0(void) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ATD0CTL1 = 0B00110000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //ETRIGSEL - External Trigger Source Select&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //SRES[1:0] - A/D Resolution Select&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //SMP_DIS - Discharge Before Sampling Bit&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //ETRIGCH[3:0] - External Trigger Channel Select&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ATD0CTL2 = 0B01000010;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Reserved&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //AFFC - ATD Fast Flag Clear All&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //ICLKSTP - Internal Clock in Stop Mode Bit&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //ETRIGLE - External Trigger Level/Edge Control&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //ETRIGP - External Trigger Polarity&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //ETRIGE - External Trigger Mode Enable&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //ASCIE - ATD Sequence Complete Interrupt Enable&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //ACMPIE - ATD Compare Interrupt Enable&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ATD0CTL3 = 0B11000000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //DJM - Result Register Data Justification (Right Justified)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //S8C, S4C, S2C, S1C - Converison Sequence Length (8)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //FIFO - Result Register FIFO Mode (0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //FRZ[1:0] - Background Debug Freeze Enable (Finish current converison, then freeze)&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ATD0CTL4 = 0B01011111;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //SMP[2:0] - Sample Time Select (8)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //PRS[4:0] - ATD Clock Prescaler (ATD clock 1MHz with 50 MHz bus)&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ATD0CTL5 = 0B00110000;//start continuous conversion&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Reserved&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //SC - Special Channel Conversion Bit&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //SCAN - Continuous or Single conversion sequence (Continuous)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MULT - Multi-Channel Sample Mode (multichannel)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //CD, CC, CB, CA - Analog Input Channel Select Code (channel AN0) &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define ADC_ARRAY&amp;nbsp; 18&lt;/P&gt;&lt;P&gt;volatile uint16_t adcVal[ADC_ARRAY];&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;//-------------------------- ATD0 Interrupt ------------------------------&lt;/P&gt;&lt;P&gt;interrupt void ATD0_ISR(void) {&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcVal[0] = ATD0DR0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcVal[1] = ATD0DR1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcVal[2] = ATD0DR2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcVal[3] = ATD0DR3;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcVal[4] = ATD0DR4;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcVal[5] = ATD0DR5;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcVal[6] = ATD0DR6;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcVal[7] = ATD0DR7;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcVal[8] = ATD0DR8;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcVal[9] = ATD0DR9;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcVal[10] = ATD0DR10;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcVal[11] = ATD0DR11;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcVal[12] = ATD0DR12;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcVal[13] = ATD0DR13;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcVal[14] = ATD0DR14;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; adcVal[15] = ATD0DR15;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Aug 2016 08:16:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12XE-ATD-on-16-Channels/m-p/589258#M12950</guid>
      <dc:creator>rayhall</dc:creator>
      <dc:date>2016-08-10T08:16:44Z</dc:date>
    </item>
    <item>
      <title>Re: S12XE ATD on 16 Channels</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12XE-ATD-on-16-Channels/m-p/589259#M12951</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;These are the correct settings to read from 16 channels.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ray&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void Init_ATD0(void) { &lt;/P&gt;&lt;P&gt;&amp;nbsp; ATD0CTL1 = 0x30; // 10bit, Discharge before sample &lt;/P&gt;&lt;P&gt;&amp;nbsp; ATD0CTL2 = 0x42; // Fast Flag Clear All, Complete Interrupt Enable&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ATD0CTL3 = 0x80; // Right Justified, Converison Sequence Length (16) &lt;/P&gt;&lt;P&gt;&amp;nbsp; ATD0CTL4 = 0x58; // Sample Time Select 8, ATD clock 1MHz with 50 MHz bus&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; ATD0CTL5 = 0x30; // Continuous conversion sequence, Multi-Channel&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Aug 2016 06:50:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12XE-ATD-on-16-Channels/m-p/589259#M12951</guid>
      <dc:creator>rayhall</dc:creator>
      <dc:date>2016-08-11T06:50:21Z</dc:date>
    </item>
    <item>
      <title>Re: S12XE ATD on 16 Channels</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12XE-ATD-on-16-Channels/m-p/589260#M12952</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I just wanted to tell you that Conversion Sequence Length you set to 8 initially should be changed to 16 :-)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Aug 2016 07:12:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12XE-ATD-on-16-Channels/m-p/589260#M12952</guid>
      <dc:creator>iggi</dc:creator>
      <dc:date>2016-08-11T07:12:28Z</dc:date>
    </item>
  </channel>
</rss>

