主题中讨论的其他器件: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唤醒
}
此致、