This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430F5529 ADC转换

Other Parts Discussed in Thread: MSP430F5529

我用的是MSP430F5529,要对一组模拟波采样,采样速率是10µs/sample,但是因为水平有限不知道该怎么设置ADC模块?另外不确定的是,是不是用single-channel single-conversion就可以了?下面附上现在想出来的部分(除了中断部分):

int main(void)
{
WDTCTL = WDTPW+WDTHOLD; 
P6SEL |= 0x01; 
ADC12CTL0 = ADC12ON+ADC12SHT0_8+ADC12MSC; 
ADC12CTL1 = ADC12SHP+ADC12CONSEQ_0; 
ADC12IE = 0x01; 
ADC12CTL0 |= ADC12ENC; 
ADC12CTL0 |= ADC12SC; 

__bis_SR_register(LPM3_bits + GIE); 
}

Thanks!

  •  要连续按照一定采样率采样一个模拟波形,需要注意一下几点:

    1. 采样模拟波形最重要的是采样周期要大于信号的2倍,这个不多讲。有问题去百度 “奈奎斯特定律”

    2. MCU要实现连续的等时间间隔采样,最好的办法就是用定时器中断触发ADC采样。

    3. Timer定义成10us定时中断,ADC配置成由TIMER触发,采样的值顺序放在一个BUF里面.

    4. ADC的采样率不能太低,否者会造成定时器中断+ADC转换时间大于采样速率的问题。

    5. 楼上的软件是实现不了的,建议你先理清思路了在编程。

x 出现错误。请重试或与管理员联系。