请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430F6779A 主题中讨论的其他器件:MSP-EM-DESIGN-CENTER
大家好、
在这里、我有一个有关我的问题的发布代码。
我想实现4.096采样频率、但无法实现。
采样频率= FM/OSR
在我的代码中、我有一个配置 FM 为 ACLK 时钟- 32768Hz
和 OSR 值、我将进行更改以实现4.096采样率。
高级 否 | FM 时钟(Hz) |
OSR | 实际/观察示波器采样率(Hz) | Fs = FM/OSR 计算采样率 |
1 | 32768 | 50 | 641. | 655.36. |
2. | 32768 | 40 | 806.4 | 819.2 |
3. | 32768 | 30 | 1063 | 1092.266667 |
4. | 32768 | 20. | 1190.6 | 1638.4. |
5. | 32768 | 10. | 1190.6 | 3276.8 |
以上是我对示波器和计算的观察结果。
当采样频率增加到1190.6Hz 以上时、它会保持恒定。
那么,如何根据公式/计算来实现?
有人能帮我解决这个问题吗?
#include int BSR_bit=30; void SD24_B_config (void); int main (void) { WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器 SD24_B_CONFIG (); SD24BCTL1 |= SD24GRP0SC; //将位设置为开始转换 __bis_SR_register (GIE); //为 (;) { }输入中断 //Σ-Δ ADC ******* void SD24_B_config (void) { SD24BCTL0 = SD24REFS | SD24SSEL_2; //选择内部 REF //选择 SMCLK 作为 SD24_B 时钟源 SD24BOSR0 = BSR_BIT; 对于5K 采样器;OSR = 520 SD24BOSR1 = BSR_BIT; 对于5K 采样器;OSR = 520 SD24BOSR2 = BSR_BIT; 对于5K 采样器;OSR = 520 SD24BOSR3 = BSR_BIT; 对于5K 采样器;OSR = 520 SD24BOSR4 = BSR_BIT; 对于5K 采样器;OSR = 520 SD24BOSR5 = BSR_BIT; 对于5K 采样器;OSR = 520 SD24BOSR6 = BSR_BIT; 对于5K 采样器;OSR = 520 SD24BCCTL0 = SD24ALGN | SD24SCS_4; //左对齐,组0 SD24BCCTL1 = SD24ALGN | SD24SCS_4; //左对齐,组0 SD24BCCTL2 = SD24ALGN | SD24SCS_4; //左对齐,组0 SD24BCCTL3 = SD24ALGN | SD24SCS_4; //左对齐,组0 SD24BCCTL4 = SD24ALGN | SD24SCS_4; //左对齐,组0 SD24BCCTL5 = SD24ALGN | SD24SCS_4; //左对齐,组0 SD24BCCTL6 = SD24ALGN | SD24SCS_4; //左对齐,组0 SD24BIE=SD24IE5; //启用通道5中断 } // 24位 ADC 中断子例程 #pragma vector=SD24B_vector __interrupt void SD24BISR (void) { P1DIR |=BIT4; P1OUT ^= BIT4;//用于调试 if (SD24BIV == SD24BIV_SD24IFG5) { Ch0Results = SD24BMEMH0 Ch4结果= SD24BMEMH4 Ch1结果= SD24BMEMH1 Ch5结果= SD24BMEMH5 Ch2结果= SD24BMEMH2 Ch6结果= SD24BMEMH6 Ch3结果= SD24BMEMH3 } }
此致、
开尔文