请问有用过MSP430F5529的AD的吗 对于它的采样周期 如果我使用计时器触发AD采样 比较值是200(即使算上AD采样加转换的时间也可以都按照8MHz计算) 计时器的时钟频率是8MHz(无分频) 那么我的采样频率是40K左右吗? 如果不是 我要怎么计算它的采样周期? 十分感谢
在我的程序中 经过测试 不是40K左右 通过看采样点数 在20K左右 是什么原因 十分感谢
代码如下
WDTCTL = WDTPW + WDTHOLD;
//初始化时钟
UCSCTL3 = SELREF_2;
UCSCTL4 |= SELA_2;
UCSCTL0 = 0x0000;
do
{
UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG);
SFRIFG1 &= ~OFIFG;
}while (SFRIFG1&OFIFG);
__bis_SR_register(SCG0);
UCSCTL1 = DCORSEL_5;
UCSCTL2 |= 249;
// (624 + 1) * 32768 = 20MHz
__bic_SR_register(SCG0); // Enable the FLL control loop
//初始化ADC
P6SEL = 0x10; //使能ADC输入通道6.4
REFCTL0 &= ~REFMSTR;
ADC12CTL0 = ADC12ON+ADC12MSC+ADC12SHT0_1+ADC12REFON+ADC12REF2_5V;
//打开ADC12 设置多次转换 设置采样间隔 打开参考电压 设置为2.5V
ADC12CTL1 = ADC12SHP+ADC12CONSEQ_2+ADC12SSEL_3; //是否分频注意 //选择采样定时器作为采样触发信号 采样模式单通道多次转换 ADC参考时钟源SMCLK
ADC12MCTL0 = ADC12SREF_1+ADC12INCH_4; // Vr+=Vref+ Vr-=AVSS 选择6.4通道
ADC12CTL2 = ADC12RES_2; //ADC12分辨率控制位 12位 需要13个时钟周期的转换时间 可以分频
delay(48); //延迟 是参考电压稳定
ADC12CTL0 |= ADC12ENC; //使能转换
//初始化TA0
TA0CCTL0 = CCIE; //比较器中断使能 时钟源选择SMCLK
TA0CCR0 = 200; //比较值设为200,
TA0CTL |= MC_1 + TASSEL_2 + TACLR; //时钟为SMCLK,比较模式,开始时清零计数器