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.

[参考译文] CCS/MSP430F5308:ADC 多通道读取

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/740131/ccs-msp430f5308-adc-multi-channel-read

器件型号:MSP430F5308

工具/软件:Code Composer Studio

您好~

我是 MSP430的初学者。  我将使用 IAR 测试 ADC。

在各种材料的帮助下对 ADC 的每个通道进行了确认。

但我无法读取超过2个通道值。

我想读取 A1、A3和 A4通道的模拟值。

(1)初始化部分。
(2)如何在"while (1)"函数内根据需要进行调用
(3)中断处理部分

您能否举一个这三个器件的简单示例?

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

    最接近的示例似乎是 MSP430F530x_ADC10_10.c、它在使用 DMA 的突发中执行 A2-A0 (8位、但您可以更改它)。 这里有两个注意事项:
    1) 1) ADC10通道编号从 ADC10INCH 开始、并向下计数至0。 因此、如果您希望将 A4作为突发的一部分(CONSEQ=1)、则必须执行所有 A4-A0、并丢弃不需要的值。 [另请参见用户指南(SLAU208o)图27-7.]
    2)只有一个结果寄存器(ADC10MEM0)、并且在下一个结果覆盖之前、您的程序(CONSEQ=1)不太可能可靠地获取一个结果。 这就是示例 ADC10_10.c 使用 DMA 的原因。

    可能有一些技巧和变体、但它们取决于应用。

    [编辑:更正了拼写错误]