Other Parts Discussed in Thread: MSP-EM-DESIGN-CENTER
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: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
}
}
此致、
开尔文