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.
您好!
我想在 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唤醒
}
此致、