TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2538的HalAdcRead()读不出数据

如图,在用CC2538做ADC读取实验时,ADC读出来的值一直都是00,我自己想了下原因:

一是之前我在使用其他M3芯片时,需要开ADC的RCC时钟,我不知道这里需不需要;

二是我没有配置PA4脚为通用IO口。

这两个我都不知道该怎么写,CC2530配置IO口是用P0SEL之类的,但CC2538不知道该怎么配置。

另外,如果还有其他原因,请告知,谢谢。

Alvin Chen:

swrc271a.zip

Viki Shi:

这里有ADC example,可以直接参考www.ti.com.cn/…/cc2538-sw

YiKai Chen:

你有先定義"#define HAL_ADC TRUE"及呼叫HalAdcInit後再使用HalAdcRead嗎?

ZhengQiang Ma:

回复 YiKai Chen:

HalAdcInit(); HalAdcSetReference(HAL_ADC_REF_125V);

……………

uint16 NUMA0; NUMA0 = HalAdcRead(HAL_ADC_CHN_AIN0,HAL_ADC_RESOLUTION_12);

请问我这写法对吗?

另外,上面回答中建议使用的swrc271例程我也试过,直接运行是可以的,但当我把他放到协议中去时,就没有效果了,我觉得ADC可能没有开启,但我找不到ADC的初始化配置在哪里。

这是例程中原本的初始化函数:

SysCtrlClockSet(false, false, SYS_CTRL_SYSDIV_32MHZ);

SysCtrlIOClockSet(SYS_CTRL_SYSDIV_32MHZ);

IOCPinConfigPeriphOutput(EXAMPLE_GPIO_UART_BASE, EXAMPLE_PIN_UART_TXD, IOC_MUX_OUT_SEL_UART0_TXD); GPIOPinTypeUARTOutput(EXAMPLE_GPIO_UART_BASE, EXAMPLE_PIN_UART_TXD); IOCPinConfigPeriphInput(EXAMPLE_GPIO_UART_BASE, EXAMPLE_PIN_UART_RXD, IOC_UARTRXD_UART0); GPIOPinTypeUARTInput(EXAMPLE_GPIO_UART_BASE, EXAMPLE_PIN_UART_RXD); UARTStdioInit(0);

SOCADCSingleConfigure(SOCADC_12_BIT, SOCADC_REF_INTERNAL);

赞(0)
未经允许不得转载:TI中文支持网 » CC2538的HalAdcRead()读不出数据
分享到: 更多 (0)