亚洲国产另类一区在线5,国产又黄又粗又刺激的视频,日本欧美视频图片,欧美日韩午夜大片在线观看

  • <source id="awnaw"></source>

    您好,歡迎訪問上海意泓電子科技有限責(zé)任公司網(wǎng)站!
    4新聞資訊
    您的位置: 首頁 ->  新聞資訊 -> 單片機(jī)

    ?STM32F0 ADC學(xué)習(xí)

    文章出處:單片機(jī) 責(zé)任編輯:上海意泓電子科技有限責(zé)任公司 發(fā)表時間:
    2020
    11-10

    開始時候使用的是stdlib的庫,最近發(fā)現(xiàn)cube庫用的越來越廣泛了,遂開始使用cube庫來完成ADC的多通道采集實驗。  

    ADC 的driver 在STM32F0XX_HAL_DRIVER當(dāng)中,有stm32f0xx_hal_adc.c文件中,我們可以在stm32f0xx_hal_conf.h中開啟 宏定義 ADC 模塊。


    ADC有三種工作模式,polling\ interrupt\DMA



    我這里使用了polling的方式來獲取多通道的數(shù)據(jù)。



    首先是要聲明兩個參數(shù)設(shè)置的結(jié)構(gòu)體


    ADC_HandleTypeDef             AdcHandle;

    ADC_ChannelConfTypeDef        sConfig;


    [cpp] view plain copy

    AdcHandle.Instance = ADC1;  

      

    AdcHandle.Init.ClockPrescaler        = ADC_CLOCK_SYNC_PCLK_DIV4;  

    AdcHandle.Init.LowPowerAutoWait      = DISABLE;  

    AdcHandle.Init.LowPowerAutoPowerOff  = DISABLE;  

    AdcHandle.Init.Resolution            = ADC_RESOLUTION_12B;  

    AdcHandle.Init.ScanConvMode          = ADC_SCAN_ENABLE;  

    AdcHandle.Init.DataAlign             = ADC_DATAALIGN_RIGHT;  

    AdcHandle.Init.ContinuousConvMode    = ENABLE;  

    AdcHandle.Init.DiscontinuousConvMode = DISABLE;  

    AdcHandle.Init.ExternalTrigConv      = ADC_SOFTWARE_START;  

    AdcHandle.Init.ExternalTrigConvEdge  = ADC_EXTERNALTRIGCONVEDGE_NONE;  

    AdcHandle.Init.EOCSelection          = ADC_EOC_SINGLE_CONV;  

    AdcHandle.Init.DMAContinuousRequests = DISABLE;//  

    AdcHandle.Init.Overrun               = ADC_OVR_DATA_OVERWRITTEN;  

      

    /* Initialize ADC peripheral according to the passed parameters */  

    if (HAL_ADC_DeInit(&AdcHandle) != HAL_OK)  

    {  

      Error_Handler();  

    }  

      

      if (HAL_ADC_Init(&AdcHandle) != HAL_OK)  

    {  

      Error_Handler();  

    }  

      

    /* ### - 2 - Start calibration ############################################ */  

    if (HAL_ADCEx_Calibration_Start(&AdcHandle) != HAL_OK)  

    {  

      Error_Handler();  

    }  


    基本的參數(shù)設(shè)置


    比較重要的參數(shù)有ADC clock設(shè)置,sample cycle,ADC分辨率,多通道 scan mode設(shè)置。


    ADC clock 有兩個時鐘源可以選擇,一個是內(nèi)部的14MHZ的時鐘,,另一個為APB的時鐘 最大為14MHZ.


    get_ADC_value 為讀取AD值的模塊,形參為通道,輸入通道名稱得到該通道對應(yīng)的AD值。



    float get_ADC_value(uint32_t channel)  

    {  

     // uint32_t nResultDMA;  

      float  temp;  

      start_adc();  

      config_channel(channel);  

        

      HAL_ADC_Start(&AdcHandle);  

      HAL_ADC_PollForConversion(&AdcHandle,1);  

        

      temp=HAL_ADC_GetValue(&AdcHandle);  

      HAL_ADC_Stop(&AdcHandle);  

      //temp=temp*3/4096;  

      return temp;  

      

    }  


    上海意泓電子科技有限責(zé)任公司 版權(quán)所有 未經(jīng)授權(quán)禁止復(fù)制或鏡像

    CopyRight 2020-2025 www.gohomedream.com All rights reserved   滬ICP備2021005866號