微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI WIFI设计交流 > CC3200 ADC

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引脚的跳线帽是否没有连接。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top