CC3200 ADC
时间:10-02
整理:3721RD
点击:
大家好:
我在使用cc3200 adc功能的时候遇见了一些问题,希望可以得到大家的帮助。使用官方的例程我的引脚没有接任何器件得出的结果是:



1.请问下上面的结果是属于正常的吗?
下面的是我在demo的基础上更改的: 我在PIN_60 引脚接的是光线传感器(文档上说PIN_60使用的是通道3),可yi发现将传感器放到不同的位置采集到的数据有很大
的变化,可是接在pin_57 pin_58引脚上却没有效果

void
PinMuxConfig(void)
{
MAP_PRCMPeripheralClkEnable(PRCM_UARTA0,PRCM_RUN_MODE_CLK);
MAP_PRCMPeripheralClkEnable(PRCM_ADC, PRCM_RUN_MODE_CLK);
//UART0_TX
MAP_PinTypeUART(PIN_07, PIN_MODE_5);
//UART0_RX
MAP_PinTypeUART(PIN_08, PIN_MODE_5);
}
void
main()
{
unsigned long uiAdcInputPin = PIN_60;
unsigned int uiChannel;
unsigned int uiIndex=0;
unsigned long ulSample;
BoardInit();
PinMuxConfig();
InitTerm();
DisplayBanner(APP_NAME);
while(FOREVER)
{
uiIndex=0;
#ifdef CC3200_ES_1_2_1
//
// Enable ADC clocks.###IMPORTANT###Need to be removed for PG 1.32
//
HWREG(GPRCM_BASE + GPRCM_O_ADC_CLK_CONFIG) = 0x00000043;
HWREG(ADC_BASE + ADC_O_ADC_CTRL) = 0x00000004;
HWREG(ADC_BASE + ADC_O_ADC_SPARE0) = 0x00000100;
HWREG(ADC_BASE + ADC_O_ADC_SPARE1) = 0x0355AA00;
#endif
MAP_PinTypeADC(uiAdcInputPin,PIN_MODE_255);
switch(uiAdcInputPin)
{
case PIN_57:
uiChannel = ADC_CH_0;
break;
case PIN_58:
uiChannel = ADC_CH_1;
break;
case PIN_59:
uiChannel = ADC_CH_2;
break;
case PIN_60:
uiChannel = ADC_CH_3;//0x18 24
break;
default:
break;
}
MAP_ADCTimerConfig(ADC_BASE,2^17);
MAP_ADCTimerEnable(ADC_BASE);
MAP_ADCEnable(ADC_BASE);
MAP_ADCChannelEnable(ADC_BASE, uiChannel);
while(1){
while(uiIndex < NO_OF_SAMPLES)
{
if(MAP_ADCFIFOLvlGet(ADC_BASE, uiChannel))
{
ulSample = MAP_ADCFIFORead(ADC_BASE, uiChannel);
pulAdcSamples[uiIndex] = ulSample;
uiIndex++;
}
}
uiIndex = 0;
while(uiIndex < NO_OF_SAMPLES)
{
UART_PRINT("\n\r%d %14ld\n\r",uiIndex,(pulAdcSamples[uiIndex] >> 2 ) & 0x0FFF);
uiIndex++;
}
uiIndex = 0;
UART_PRINT("\n\r");
}
}
}


上面两幅图是pin_60 接传感器结果

如果有知道请告诉我一下 谢谢。
使用ADC请参考,详细的介绍了CC3200的ADC使用注意事项
http://processors.wiki.ti.com/index.php/CC32xx_ADC_Appnote
Terry Han:
你好,我测的结果不正确是因为我接错了引脚,因为板子上有两个PIN_58,和PIN_59引脚,现在我换了另外一个引脚已经可以测得数据了,谢谢你,还有我发现PIN_57 引脚还是无法测得数据,我将pin_07,和 PIN_08作为串口输入输出了,是不是还需要其它的配置呢?
注意查看Launchpad的原理图,UART0_RX必须将跳线帽连接才能将该引脚分配到LP外扩的PIN脚!--才能使用ADC-CH0,注意必须将跳线帽J6(1-2 PIN脚)连接才能将该引脚分配到LP外扩的PIN脚,查看你的Launchpad引脚的跳线帽是否没有连接。
