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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 817|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久成人精品免费播放动漫 | 亚洲精品视频播放 | 日韩在线资源 | 国产在线精品一区二区 | 古装三级在线播放 | 国产自产21区| 国产精品久久久久av | 一区二区三区精品在线视频 | 夜夜爽99久久国产综合精品女不卡 | 亚洲国产精品久久久久婷婷老年 | 欧美一级淫片免费视频黄 | www久久国产 | 欧美九九九 | 日韩人体视频 | 欧美日韩一区二区三区在线观看 | 日本高清不卡视频 | 欧美成人手机在线 | 国产黄色av网站 | av黄色免费在线观看 | 国产一区欧美 | 久久亚洲一区 | 欧美成人一区二区三区 | 国产福利在线视频 | 久久人体| 久久久久久免费毛片精品 | 免费三级网站 | 国产精品成人一区二区三区夜夜夜 | 国产精品久久久乱弄 | 亚洲国产精品久久久久 | 亚洲成av人片在线观看无码 | 国产激情99 | 久久躁日日躁aaaaxxxx | 国产视频二区 | 国产欧美久久一区二区三区 | 91国产在线视频在线 | 欧美视频免费在线 | 免费同性女女aaa免费网站 | 精品综合久久 | 精品欧美 | 久久看看| 99在线资源 |