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.

[参考译文] RTOS/MSP430FR5994:MSP430FR5994、ADC 在 BIOS_start()之后返回最大值

Guru**** 2394305 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/784419/rtos-msp430fr5994-msp430fr5994-adc-returns-max-values-after-bios_start

器件型号:MSP430FR5994
主题中讨论的其他器件:MSP430WARE

工具/软件:TI-RTOS

您好!

我正在尝试在我的项目中实现 TI 示例 msp430fr599x_ADC12_02.c。  如果我在 BIOS_start()之前读取 ADC、我会得到合理的值。  但是、如果我尝试在之后读取 ADC、则它始终返回4095 (最大值)。  是否有任何关于这种情况可能发生的想法?

谢谢、

Evan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们在这里需要更多信息。 您使用的是 TI-RTOS 的哪个版本? 您是否有正在使用的示例应用?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Todd、

    TI-RTOS:2.20.0.06

    MSP430Ware:3.7.0.05

    似乎我发现了这个问题、但我想知道为什么会发生这个问题。

    我正在读取使用 SPI 端口 UCA1 (P2.4和 P2.5)的压力传感器。  ADC 中断仅在 SPI 端口打开时读取最大值。  如果我注释掉下面的代码、它每次都会起作用。

    /*打开 SPI 接口*/
    SPI_PARAMS_INIT (params);
    params.frameFormat = SPI_POL1_PHA1;
    hPressureSPI = SPI_open (MSP_EXP430FR5994_SPIA1、&params); 

    查看数据表、我没有看到与这些引脚发生任何冲突。

    谢谢、

    Evan

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

    Evan、

    您是否修改了 MSP_EXP430FR5994.c 和 Board.h?  如果是、请附上这些信息吗?  

    我提出这一要求是因为查看与该版本相对应的板级配置文件、我希望 SPI 使用 P6.1、P6.0和 P6.2。  而不是您指示的 P2.4和 P2.5。

    我预期会使用 Board_SPI0或 MSP_EXP430FR5994_SPIA1、而不是 MSP_EXP430FR5994_SPI3。

    此外、msp430fr599x_ADC12_02.c 示例使用 P1.0和 P1.1。  您是否在将此代码添加到 TI-RTOS 应用程序时更改了这些代码?  如果不是、我会期望与配置用于驱动板上 LED 的 GPIO 引脚发生冲突。  P1.1可能被驱动为高电平、这可能解释了满量程 ADC 读数?  您能否展示如何将此示例代码添加到 TI-RTOS 示例中(例如、您是否创建了新任务?、是否删除了 LPM0条目?) 以及您对源进行的任何修改?

    谢谢、
    Scott

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

    Evan、

    这是否得到了解决?

    Todd

    [3/29更新:标记为 TI 认为已解决、因为原始海报没有回复。]