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,要对一组模拟波采样,采样速率是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. 楼上的软件是实现不了的,建议你先理清思路了在编程。