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.

[参考译文] MSP430FG6626:支持 CTSD16和 Driverlib

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/568332/msp430fg6626-ctsd16-and-driverlib-support

器件型号:MSP430FG6626
主题中讨论的其他器件:MSPWARE

您好!

 我想在 A0上使用 MSP430FG6626进行单端转换、比如。 我似乎找不到任何真正有意义的文档来说明这些渠道 的关系。 此外、似乎没有相关的 CCS 示例说明如何将其配置为与 MSPWare 库配合使用。

也许我缺少一些东西、因为我似乎找不到一个明确的部分来说明的含义
    -通道    (0-18)
    -转换器      (0-6)
    -等等

是否有一个简单的示例来说明上述内容?

我有 一个代码  、其中 ctsd16_ex_singleChSingleConvInterrupt.c 构成了基础、该代码尝试读取 A0但结果看起来奇怪-因为将 GND 连接到引脚会产生一个大值(期望0)

void main (void)

//停止 WDT

WDT_A_HOLD (WDT_A_base);

//选择 A0模拟输入引脚?

GPIO_setPeripheralModuleFunctionInputPin (GPIO_PORT_P6、

GPIO_PIN0);

//使用内部基准和用于时钟的内部电阻器初始化 CTSD16

CTSD16_init (CTSD16_base、CTSD16_RTR_INPUT_CHARGEPUMP_BURST_REQUEST_DISABLE、CTSD16_REF_INTERNAL);

//初始化转换器0:A0作为输入,通道0?

CTSD16_initConverter (CTSD16_base、CTSD16_converter_0、CTSD16_SINGLE_MODE、CTSD16INCH_0);

//清除转换器0中断标志

CTSD16_clearInterrupt (CTSD16_base、CTSD16_converter_0、CTSD16_converter_interrupt);

//启用结果中断

CTSD16_enableInterrupt (CTSD16_base、CTSD16_converter_0、CTSD16_converter_interrupt);

//对于1.2V 基准电压稳定、延迟~120us

_DELAY_CYCLES (2000);

while (1)

__no_operation()//在此设置断点

//将位设置为开始转换

CTSD16_startConverterConversion (CTSD16_base、CTSD16_converter_0);

_bis_SR_register (LPM0_bits | GIE);//输入 LPM0、带中断

__no_operation()//用于调试器

#if defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__)

#pragma vector=CTSD16_vector

_interrupt

#Elif defined (_GNU_)

__attribute__((interrupt (CTSD16_vector))

#endif

void CTSD16_ISR (void){

switch (__evo_in_range (CTSD16IV、CTSD16IV_CTSD16MEM0))

案例 CTSD16IV_NONE:break

案例 CTSD16IV_CTSD16OVIFG:中断

案例 CTSD16IV_CTSD16MEM0:

//保存 CH0结果(清除 IFG)

结果= CTSD16_getResults (CTSD16_base、CTSD16_converter_0);

中断;

默认值:break

_BIC_SR_REGISTER_ON_EXIT (LPM0_BITS);//从 LPM0唤醒


此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    经过进一步调查、似乎将 CTSD16GAIN 设置为 CTSD16GAIN_1会在接地时产生正确的结果。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 EyeballMSP、

    很抱歉、由于缺少 CTSD16 driverlib 示例、我只能在 DriverLib 用户指南的第13.3节中找到一个示例。 我相信您正在寻找二进制补码输出数据格式、这是通过设置 CTSD16CCTLx 寄存器中的 CTSD16DF 位来确定的、并在器件系列用户指南的第30.2.8.1节中进行了讨论。 有关单端输入模式的更多信息、您还可以参阅数据表的第7.2.1.4.3节、您还应关注表5-34至5-36中概述的规格。

    此致、
    Ryan