<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM8L探索套件學(xué)習(xí)筆記-測量VDD(七)

          STM8L探索套件學(xué)習(xí)筆記-測量VDD(七)

          作者: 時間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
          STM8L中等容量有25個模擬通道(1個快速通道1us和24慢速通道)。中等+和高密度器件有28個通道(4個快速1us和24個慢速通道)。內(nèi)部有兩個通道連接帶溫度觸發(fā)器和內(nèi)部電壓參考電壓??梢耘渲脼閱未魏瓦B續(xù)模式??梢栽O(shè)置ADC時鐘預(yù)分頻比,模擬看門狗,DMA功能,可以設(shè)置為6/8/10/12位轉(zhuǎn)換精度。
          今天我們測量下VDD參考電壓,是通過測量VREF電壓換算出來的,換算的方法有兩種:
          第一種比較準(zhǔn)確,VREF是出廠做的校準(zhǔn),存儲在FLASH當(dāng)中。計算公式為:VDD=(VREF出廠值/VREF實(shí)際測量值)×VDD出廠值
          第二種方法是假定理論上VREF=1.224V,計算公式為:
          VDD=(1.224/VREF實(shí)際測量值)×4096

          一般我們采用第二種方法測量VDD,測量步驟為下:
          1、使能ADC時鐘
          CLK_PeripheralClockConfig(CLK_Peripheral_ADC1, ENABLE);
          2、出現(xiàn)初始化ADC1
          ADC_DeInit(ADC1);
          3、設(shè)置ADC通道,精度,轉(zhuǎn)換時間
          ADC_Init(ADC1, ADC_ConversionMode_Single,ADC_Resolution_12Bit, ADC_Prescaler_2);

          ADC_SamplingTimeConfig(ADC1, ADC_Group_SlowChannels, ADC_SamplingTime_384Cycles);
          4、使能
          ADC_VrefintCmd(ENABLE);
          ADC_Cmd(ADC1, ENABLE);
          ADC_ChannelCmd(ADC1, ADC_Channel_Vrefint, ENABLE);
          5、測量8次取平均值
          u16 VREF_Value(void)//測量內(nèi)部參考電壓VREF值,測量8次平均
          {
          uint8_t i;
          uint16_t res=0;
          for(i=8; i>0; i--)
          {
          /* start ADC convertion by software */
          ADC_SoftwareStartConv(ADC1);
          /* wait until end-of-covertion */
          while( ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == 0 );
          /* read ADC convertion result */
          res += ADC_GetConversionValue(ADC1);
          }
          return (res>>3);
          }


          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();