TI中文支持网
TI专业的中文技术问题搜集分享网站

430的ADC12,采用单通道多次采样的模式,未开中断,请问:第一,ad转换完成后,如果上次转换结果未读取,本次转换结果是否覆盖原有数据?第二,结果是否存放在ADC12MEM0?

MSP430的ADC12,采用单通道多次采样的模式,未开中断,请问:第一,ad转换完成后,如果上次转换结果未读取,本次转换结果是否覆盖原有数据?第二,结果是否存放在ADC12MEM0?

Hui Cao22:

回复 Susan Yang:

谢谢,请问下面代码有问题吗

通道7

P6SEL |= 0x80;                            // ADC sampled on P6.7        ADC12CTL0 &= ~ENC;                      //ADC12CTL0  page807    ADC12CTL0 &= ~(REFON | ADC12SC);    ADC12CTL0 = ADC12ON|SHT0_2;               // turn on ADC12                                            // Sample and hold for 16 ADC12CLK cycles    ADC12CTL1 &= ~ISSH;    ADC12CTL1 |= (SHP | CONSEQ_2 | ADC12SSEL0 | ADC12DIV_0 | SHS_0 | CSTARTADD_0); //单通道多次采样                         // Use sampling timer

    ADC12MCTL0 |= (SREF_5 | INCH_7);                      // Vr+=VREF+ (external) & Vr- = VREF-;Channel 7

    ADC12CTL0 |= ENC;                         // Enable conversions        ADC12CTL0 |= ADC12SC;                   // Start conversions

Susan Yang:

回复 Hui Cao22:

请问是哪个芯片?我们的MSPWARE内是有ADC例程的

http://www.ti.com/tool/MSPWARE

Hui Cao22:

回复 Susan Yang:

感谢,用的MSP430FG4618

Susan Yang:

回复 Hui Cao22:

/* --COPYRIGHT--,BSD_EX* Copyright (c) 2012, Texas Instruments Incorporated* All rights reserved.** Redistribution and use in source and binary forms, with or without* modification, are permitted provided that the following conditions* are met:** *Redistributions of source code must retain the above copyright*notice, this list of conditions and the following disclaimer.** *Redistributions in binary form must reproduce the above copyright*notice, this list of conditions and the following disclaimer in the*documentation and/or other materials provided with the distribution.** *Neither the name of Texas Instruments Incorporated nor the names of*its contributors may be used to endorse or promote products derived*from this software without specific prior written permission.** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.**********************************************************************************MSP430 CODE EXAMPLE DISCLAIMER** MSP430 code examples are self-contained low-level programs that typically* demonstrate a single peripheral function or device feature in a highly* concise manner. For this the code may rely on the device's power-on default* register values and settings such as the clock configuration and care must* be taken when combining code from several examples to avoid potential side* effects. Also see www.ti.com/grace for a GUI- and www.ti.com/msp430ware* for an API functional library-approach to peripheral configuration.** --/COPYRIGHT--*/
//******************************************************************************
//MSP430xG461x Demo - ADC12, Repeated Single Channel Conversions
//
//This example shows how to perform repeated conversions on a single channel
//using "repeat-single-channel" mode.AVcc is used for the reference and
//repeated conversions are performed on Channel A0. Each conversion result
//is moved to an 8-element array called Results[].Test by applying a
//voltage to channel A0, then running. To view the conversion results, open a
//watch window with the debugger and view Results[].
//ACLK = 32kHz, MCLK = SMCLK = default DCO 1048576Hz, ADC12CLK = ADC12OSC
//
//MSP430xG461x
//---------------
//|XIN|-
//Vin -->|P6.0/A0| 32kHz
//|XOUT|-
//
//Y. Yang
//Texas Instruments Inc.
//September 2012//Built with CCE Version: 5.2.1 and IAR Embedded Workbench Version: 6.4
//******************************************************************************
#include <msp430.h>volatile unsigned int Results[8];
unsigned int Index;int main(void)
{WDTCTL = WDTPW|WDTHOLD;// Stop watchdog timerP6SEL |= 0x01;// ADC sampled on P6.0ADC12CTL0 = ADC12ON|SHT0_8|MSC;// Turn on ADC12, Sample and hold 256 ADC12CLK cyclesADC12CTL1 = SHP|CONSEQ_2;// Use sampling timer, set modeADC12IE = 0x01;// Enable ADC12IFG.0ADC12CTL0 |= ENC;// Enable conversions__enable_interrupt();// Enable interruptsADC12CTL0 |= ADC12SC;// Start conversion__bis_SR_register(LPM0_bits);// LPM0
}#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector = ADC12_VECTOR
__interrupt void ADC12_ISR(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(ADC12_VECTOR))) ADC12_ISR (void)
#else
#error Compiler not supported!
#endif
{Results[Index++] = ADC12MEM0;// Move result, IFG is clearedIndex &= 0x07;// Modulo pointer, counts up to 7 and resets__no_operation();// SET BREAKPOINT HERE
}

赞(0)
未经允许不得转载:TI中文支持网 » 430的ADC12,采用单通道多次采样的模式,未开中断,请问:第一,ad转换完成后,如果上次转换结果未读取,本次转换结果是否覆盖原有数据?第二,结果是否存放在ADC12MEM0?
分享到: 更多 (0)