CC2530 HalAdcRead 如何使用,可以同时转换两个通道的输入吗
HalAdcInit();
APCFG &= 0xff ;
P0SEL &= 0xff;
//P0口全部为输入
P0DIR &= 0x00 ;
这是初始化。
转换的部分:
HalAdcSetReference( HAL_ADC_REF_AVDD );
adc1 = HalAdcRead(HAL_ADC_CHANNEL_0, HAL_ADC_RESOLUTION_12);
HalAdcSetReference( HAL_ADC_REF_AVDD );
adc2 = HalAdcRead(HAL_ADC_CHANNEL_1, HAL_ADC_RESOLUTION_12);
HalAdcSetReference( HAL_ADC_REF_AVDD );
adc3 = HalAdcRead(HAL_ADC_CHANNEL_2, HAL_ADC_RESOLUTION_12);
结果三个通道用同样的输入电压,转换的值却是不一样的。
你这个不是同时了,有先后顺序的。
你可以使用序列转换。、
您好,谢谢您的回复
问题的话,如果我想在协议栈中使用cc2530上的adc转换传感器的输入,我应该怎么做,如果用上面的代码
HalAdcSetReference( HAL_ADC_REF_AVDD );
adc1 = HalAdcRead(HAL_ADC_CHANNEL_0, HAL_ADC_RESOLUTION_12);
HalAdcSetReference( HAL_ADC_REF_AVDD );
adc2 = HalAdcRead(HAL_ADC_CHANNEL_1, HAL_ADC_RESOLUTION_12);
HalAdcSetReference( HAL_ADC_REF_AVDD );
adc3 = HalAdcRead(HAL_ADC_CHANNEL_2, HAL_ADC_RESOLUTION_12);
不正确的话。
请问有示例代码吗,或者我应该从什么方向上入手解决这个问题。
这个问题困扰我很久了,期待您的建议,万分感谢。
您好,谢谢您的回复 问题的话,如果我想在协议栈中使用cc2530上的adc转换传感器的输入,我应该怎么做,如果用上面的代码 HalAdcSetReference( HAL_ADC_REF_AVDD ); adc1 = HalAdcRead(HAL_ADC_CHANNEL_0, HAL_ADC_RESOLUTION_12); HalAdcSetReference( HAL_ADC_REF_AVDD ); adc2 = HalAdcRead(HAL_ADC_CHANNEL_1, HAL_ADC_RESOLUTION_12); HalAdcSetReference( HAL_ADC_REF_AVDD ); adc3 = HalAdcRead(HAL_ADC_CHANNEL_2, HAL_ADC_RESOLUTION_12); 不正确的话。 请问有示例代码吗,或者我应该从什么方向上入手解决这个问题。 这个问题困扰我很久了,期待您的建议,万分感谢。