久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 843|回復: 0
打印 上一主題 下一主題
收起左側

MSP430單片機多通道ADC采集,串口無法打印ADC值

[復制鏈接]
跳轉到指定樓層
樓主
ID:1128884 發表于 2024-7-13 10:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
static void ConfigADCInit(void)
{
    // 復位GPIO
    GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P6,GPIO_PIN0);
    GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P6,GPIO_PIN1);
    GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P6,GPIO_PIN2);
    GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P6,GPIO_PIN5);
    GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P6,GPIO_PIN6);

    // 配置ADC參數
    ADC12_A_init(ADC12_A_BASE,ADC12_A_SAMPLEHOLDSOURCE_SC, ADC12_A_CLOCKSOURCE_ADC12OSC, ADC12_A_CLOCKDIVIDER_1);

    // 啟用ADC12_A模塊
    ADC12_A_enable(ADC12_A_BASE);

    // 配置ADC12_A模塊的采樣計時器,以控制采樣/保持信號的持續時間以及采樣過程中的時鐘周期數
    ADC12_A_setupSamplingTimer(ADC12_A_BASE,ADC12_A_CYCLEHOLD_128_CYCLES,ADC12_A_CYCLEHOLD_4_CYCLES,ADC12_A_MULTIPLESAMPLESENABLE);

    // 配置ADC P6.0
    ADC12_A_configureMemoryParam  ADCA0_InitStructure = {
    .inputSourceSelect = ADC12_A_INPUT_A0,                  // A0作為輸入通道
    .endOfSequence = ADC12_A_NOTENDOFSEQUENCE,              // 不是序列結束
    .memoryBufferControlIndex = ADC12_A_MEMORY_0,           // 內存0
    .negativeRefVoltageSourceSelect = ADC12_A_VREFPOS_AVCC, // 參考電壓為AVCC
    .positiveRefVoltageSourceSelect = ADC12_A_VREFNEG_AVSS, // 參考電壓為AVSS
    };

    // 配置ADC P6.1
    ADC12_A_configureMemoryParam  ADCA1_InitStructure = {
    .inputSourceSelect = ADC12_A_INPUT_A1,
    .endOfSequence = ADC12_A_NOTENDOFSEQUENCE,
    .memoryBufferControlIndex = ADC12_A_MEMORY_1,
    .negativeRefVoltageSourceSelect = ADC12_A_VREFPOS_AVCC,
    .positiveRefVoltageSourceSelect = ADC12_A_VREFNEG_AVSS,
    };

    // 配置ADC P6.2
    ADC12_A_configureMemoryParam  ADCA2_InitStructure = {
    .inputSourceSelect = ADC12_A_INPUT_A2,
    .endOfSequence = ADC12_A_NOTENDOFSEQUENCE,
    .memoryBufferControlIndex = ADC12_A_MEMORY_2,
    .negativeRefVoltageSourceSelect = ADC12_A_VREFPOS_AVCC,
    .positiveRefVoltageSourceSelect = ADC12_A_VREFNEG_AVSS,
    };

    // 配置ADC P6.5
    ADC12_A_configureMemoryParam  ADCA5_InitStructure = {
    .inputSourceSelect = ADC12_A_INPUT_A5,
    .endOfSequence = ADC12_A_NOTENDOFSEQUENCE,
    .memoryBufferControlIndex = ADC12_A_MEMORY_5,
    .negativeRefVoltageSourceSelect = ADC12_A_VREFPOS_AVCC,
    .positiveRefVoltageSourceSelect = ADC12_A_VREFNEG_AVSS,
    };

    // 配置ADC P6.6
    ADC12_A_configureMemoryParam ADCA6_InitStructure = {
    .endOfSequence = ADC12_A_ENDOFSEQUENCE,
    .inputSourceSelect = ADC12_A_INPUT_A6,
    .memoryBufferControlIndex = ADC12_A_MEMORY_6,
    .negativeRefVoltageSourceSelect = ADC12_A_VREFPOS_AVCC,
    .positiveRefVoltageSourceSelect = ADC12_A_VREFNEG_AVSS,
    };

    // 配置ADC
    ADC12_A_configureMemory(ADC12_A_BASE ,&ADCA0_InitStructure);
    ADC12_A_configureMemory(ADC12_A_BASE ,&ADCA1_InitStructure);
    ADC12_A_configureMemory(ADC12_A_BASE ,&ADCA2_InitStructure);
    ADC12_A_configureMemory(ADC12_A_BASE ,&ADCA5_InitStructure);
    ADC12_A_configureMemory(ADC12_A_BASE ,&ADCA6_InitStructure);

    // 開始轉換
    ADC12_A_startConversion(ADC12_A_BASE, ADC12_A_MEMORY_0, ADC12_A_REPEATED_SEQOFCHANNELS);
    ADC12_A_startConversion(ADC12_A_BASE, ADC12_A_MEMORY_1, ADC12_A_REPEATED_SEQOFCHANNELS);
    ADC12_A_startConversion(ADC12_A_BASE, ADC12_A_MEMORY_2, ADC12_A_REPEATED_SEQOFCHANNELS);
    ADC12_A_startConversion(ADC12_A_BASE, ADC12_A_MEMORY_3, ADC12_A_REPEATED_SEQOFCHANNELS);

}

#pragma vector=ADC12_VECTOR
__interrupt void ADC12_interrupt (void)
{
    static unsigned int index = 0;
    switch (__even_in_range(ADC12IV,34)){
        case  0: break;   //Vector  0:  No interrupt
        case  2: break;   //Vector  2:  ADC overflow
        case  4: break;   //Vector  4:  ADC timing overflow
        case  6: break;   //Vector  6:  ADC12IFG0
        case  8: break;   //Vector  8:  ADC12IFG1
        case 10: break;   //Vector 10:  ADC12IFG2
        case 12: break;   //Vector 12:  ADC12IFG3
        case 14: break;   //Vector 14:  ADC12IFG4
        case 16: break;   //Vector 16:  ADC12IFG5
        case 18:
            A0results[index] = ADC12_A_getResults(ADC12_A_BASE, ADC12_A_MEMORY_0);           // Move A0 results, IFG is cleared
            UART_printf(USCI_A1_BASE,"%f",A0results[index] / 0xffff * 3.3);
            A1results[index] = ADC12_A_getResults(ADC12_A_BASE, ADC12_A_MEMORY_1);           // Move A1 results, IFG is cleared
            UART_printf(USCI_A1_BASE,"%f",A1results[index] / 0xffff * 3.3);
            A2results[index] = ADC12_A_getResults(ADC12_A_BASE, ADC12_A_MEMORY_2);           // Move A2 results, IFG is cleared
            UART_printf(USCI_A1_BASE,"%f",A2results[index] / 0xffff * 3.3);
            A5results[index] = ADC12_A_getResults(ADC12_A_BASE, ADC12_A_MEMORY_5);           // Move A5 results, IFG is cleared
            UART_printf(USCI_A1_BASE,"%f",A5results[index] / 0xffff * 3.3);
            A6results[index] = ADC12_A_getResults(ADC12_A_BASE, ADC12_A_MEMORY_6);           // Move A6 results, IFG is cleared
            UART_printf(USCI_A1_BASE,"%f",A6results[index] / 0xffff * 3.3);
            index++;

            if (index == 8)
            {
              (index = 0);
            }
            break;   //Vector 18:  ADC12IFG6
        case 20: break;   //Vector 20:  ADC12IFG7
        case 22: break;   //Vector 22:  ADC12IFG8
        case 24: break;   //Vector 24:  ADC12IFG9
        case 26: break;   //Vector 26:  ADC12IFG10
        case 28: break;   //Vector 28:  ADC12IFG11
        case 30: break;   //Vector 30:  ADC12IFG12
        case 32: break;   //Vector 32:  ADC12IFG13
        case 34: break;   //Vector 34:  ADC12IFG14
        default: break;
    }
}
串口無法打印ADC值


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品99 | 亚洲欧洲国产视频 | 视频一区二区三区中文字幕 | 日韩福利在线 | 久久久久久久久国产精品 | 九九成人| 日韩在线免费播放 | 国产一区二区视频在线 | 亚洲综合色丁香婷婷六月图片 | 久久久www成人免费无遮挡大片 | h在线 | 成人在线播放网址 | 1000部精品久久久久久久久 | 亚洲精品毛片av | 午夜电影福利 | 二区中文 | 欧美激情国产精品 | 欧美偷偷 | 国产高清免费 | 国产精品久久久久婷婷二区次 | 欧洲亚洲一区 | 一区二区三区日韩精品 | 免费一级片 | 精品久久久久久亚洲综合网站 | 亚洲自拍偷拍免费视频 | 99精品国产在热久久 | 国产一区二区三区在线 | 成人在线a | 成人精品视频在线观看 | 人人爱干 | 日韩国产一区二区三区 | 亚洲精品久久久久久国产精华液 | 一区二区三区在线观看视频 | 国户精品久久久久久久久久久不卡 | 精品视频一区二区三区在线观看 | 久久美女网 | 亚洲区一区二区 | 精品视频一区二区三区 | 日韩中文一区二区三区 | 久久鲁视频 | 日本在线黄色 |