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.

[参考译文] MSP430AFE253:读取数字滤波器输出

Guru**** 2550550 points
Other Parts Discussed in Thread: MSP430AFE253

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/590822/msp430afe253-reading-digital-filter-output

器件型号:MSP430AFE253

大家好、团队、

我支持使用 MSP430AFE253的应用、我们有关于的24_a'数字滤波器输出读数的问题、这是用于使数字滤波器输出的当前代码:

30位数字输出(OSR=1024、SD24UNI=0)

SD24CCTL0 &=~SD24LSBACC;
Num = SD24MEM0;
Num <=14;
SD24CCTL0 |= SD24LSBACC;
Num |=(SD24MEM0和3FFF); 

24位数字输出 (OSR=256、SD24UNI=0)

SD24CCTL0 &=~SD24LSBACC;
Num = SD24MEM0;
Num <=8;
SD24CCTL0 |= SD24LSBACC;
Num |=(SD24MEM0和 FF); 

1.此代码是否正确?
2.读数字滤波器输出的正确/推荐方法是什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Victor、

    如用户指南的第27.2.7.1节所述、SD24 LSBACC 位在每次读取 SD24MEMx 时自动切换、因此无需手动置位或清零。 否则、鉴于初始化和触发器已正确设置、代码看起来是正确的。

    此致、
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ryan、

    感谢您的反馈、删除了寻址 SD24 LSBACC 的两行内容、它在 27位和30位数字输出下似乎工作正常、但在数字输出低于27位时不工作、 也就是说、当输出被设定为24位(OSR=256、SD24UNI=0)并且代码如下:

    Num = SD24MEM0;
    Num <=8;
    Num |=(SD24MEM0和0xFF); 

    在读取27位以下的输出时、是否有任何东西被忽略或任何不同的东西?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    维克多

    您使用的是赋值运算符(<=)而不是按位运算符(<<)、这很可能会导致问题。 您应该单步执行 CCS 调试器内部的代码、以确保根据 SD24存储器内容的预期分配变量。 www.tutorialspoint.com/.../c_operators.htm

    此致、
    Ryan