女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)篇) 第14章 內(nèi)部溫度傳感器

嵌入式大雜燴 ? 來源:嵌入式大雜燴 ? 作者:嵌入式大雜燴 ? 2023-05-17 08:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

開發(fā)環(huán)境:

MDK:Keil 5.30

開發(fā)板:GD32F207I-EVAL

MCU:GD32F207IK

1 內(nèi)部溫度傳感器工作原理

GD32 有一個內(nèi)部的溫度傳感器,可以用來測量 CPU 及周圍的溫度(TA)。該溫度傳感器在內(nèi)部和 ADCx_IN16 輸入通道相連接,此通道把傳感器輸出的電壓轉(zhuǎn)換成數(shù)字值。溫度傳感器模擬輸入推薦采樣時間是 17.1μs。GD32 的內(nèi)部溫度傳感器支持的溫度范圍為: -40~125度。精度比較差,為±1.5℃左右。

GD32 內(nèi)部溫度傳感器的使用很簡單,只要設(shè)置一下內(nèi)部 ADC,并激活其內(nèi)部通道就差不多了。關(guān)于 ADC 的設(shè)置,我們在前面的章節(jié)已經(jīng)進行了詳細的介紹,這里就不再多說。接下來我們介紹一下和溫度傳感器設(shè)置相關(guān)的 2 個地方。

第一個地方,我們要使用 GD32的內(nèi)部溫度傳感器,必須先激活 ADC 的內(nèi)部通道,這里通過 ADC_CTL1的 TSVREN位(bit23)設(shè)置。設(shè)置該位為 1 則啟用內(nèi)部溫度傳感器。置位ADC_CTL1寄存器的ADCON位,或者由外部觸發(fā)啟動ADC轉(zhuǎn)換。

第二個地方, GD32的內(nèi)部溫度傳感器固定的連接在 ADC 的通道 16 上,所以,我們在設(shè)置好 ADC 之后只要讀取通道 16 的值,就是溫度傳感器返回來的電壓值了。根據(jù)這個值,我們就可以計算出當前溫度。GD32內(nèi)置一個溫度傳感器,通過 ADC_IN16這個通道可以讀出溫度傳感器的電壓。其中給出了一個計算公式:

Temperature (in ℃) = {(V25- Vsense) / Avg_Slope} + 25

  • 公式中的 Vsense 就是在 ADC_IN16讀到的數(shù)值。單位是V。
  • Avg_Slope 就是溫度與 ADC 數(shù)值轉(zhuǎn)換的斜率。最小=4.0 典型=4.3 最大=4.6 單位是 mV/℃
  • V25 最小=1.34V 典型=1.43V 最大=1.52V

現(xiàn)在,我們就可以總結(jié)一下 GD32內(nèi)部溫度傳感器使用的步驟了,如下:

1)設(shè)置 ADC,開啟內(nèi)部溫度傳感器。

關(guān)于如何設(shè)置 ADC,上一節(jié)已經(jīng)介紹了,我們采用與上一節(jié)相似的設(shè)置。 不同的是上一節(jié)溫度傳感器是讀取外部通道的值,而內(nèi)部溫度傳感器相當與把通道端口連接在內(nèi)部溫度傳感器上。所以這里,我們要開啟內(nèi)部溫度傳感器功能:

adc_tempsensor_vrefint_enable();

2)讀取通道 16 的 AD 值,計算結(jié)果。

在設(shè)置完之后,我們就可以讀取溫度傳感器的電壓值了, 得到該值就可以用上面的公式計算溫度值。

例如讀到 Vsense= 1.30V。分別取 V25和 Avg_Slope 的典型值,

計算得到:(1.43 - 1.30)/0.0043 + 25 = 55.23

所以溫度大約為 55℃。

  • GD32內(nèi)部溫度傳感器與 ADC 的通道16相連,與 ADC 配合使用實現(xiàn)溫度測量;
  • 測量范圍–40~125℃,精度±1.5℃。
  • 溫度傳感器產(chǎn)生一個隨溫度線性變化的電壓,轉(zhuǎn)換范圍在2V < VDDA < 3.6V之間。

2 內(nèi)部溫度傳感器讀取實現(xiàn)

內(nèi)部ADC實現(xiàn)代碼很簡單,配置函數(shù)如下:

/*
    brief      Configure the ADC peripheral
    param[in]  none
    param[out] none
    retval     none
*/
void adc_config(void)
{
    /* enable GPIOC clock */
    rcu_periph_clock_enable(RCU_GPIOC);

    /* enable ADC0 clock */
    rcu_periph_clock_enable(RCU_ADC0);

    /* config ADC clock */
    rcu_adc_clock_config(RCU_CKADC_CKAPB2_DIV8);

    /* config the GPIO as analog mode */
    gpio_init(GPIOC, GPIO_MODE_AIN, GPIO_OSPEED_50MHZ, GPIO_PIN_3);

    /* ADC mode config */
    adc_mode_config(ADC_MODE_FREE);

    /* ADC continuous mode function disable */
    adc_special_function_config(ADC0, ADC_CONTINUOUS_MODE, DISABLE);

    /* ADC data alignment config */
    adc_data_alignment_config(ADC0, ADC_DATAALIGN_RIGHT);

    /* ADC channel length config */
    adc_channel_length_config(ADC0, ADC_REGULAR_CHANNEL, 1);

    /* ADC regular channel config */
    adc_regular_channel_config(ADC0, 0, ADC_CHANNEL_16, ADC_SAMPLETIME_1POINT5);

    /* ADC trigger config */
    adc_external_trigger_source_config(ADC0, ADC_REGULAR_CHANNEL, ADC0_1_2_EXTTRIG_REGULAR_NONE);

    /* ADC external trigger enable */
    adc_external_trigger_config(ADC0, ADC_REGULAR_CHANNEL, ENABLE);

    /* ADC temperature and Vrefint enable */
    adc_tempsensor_vrefint_enable();

    /* enable ADC interface */
    adc_enable(ADC0);
    delay_ms(1);

    /* ADC calibration and reset calibration */
    adc_calibration_enable(ADC0);

}

主函數(shù)也很簡單:

/*
    brief      main function
    param[in]  none
    param[out] none
    retval     none
*/
int main(void)
{
    uint32_t ad=0;  
    uint8_t i=0;

    //systick init
    sysTick_init();

    //usart init 115200 8-N-1
    com_init(COM1, 115200, 0, 1);

    //adc config
    adc_config();

    while(1)
    {      
        ad=0;
        for(i=0;i<50;i++)
        {

            adc_software_trigger_enable(ADC0, ADC_REGULAR_CHANNEL);

            while(!adc_flag_get(ADC0,ADC_FLAG_EOC));//檢查轉(zhuǎn)換標志
            adc_flag_clear(ADC0, ADC_FLAG_EOC); // 清除結(jié)束標志

            ad=ad+adc_regular_data_read(ADC0);//ADC轉(zhuǎn)換結(jié)果
        }
        ad=ad/50;
        printf("The current AD value = 0x%04X \\r\\n", ad); 
        printf("The current AD value = %f V \\r\\n",(float)ad / 4096 * 3.3); //實際電壓
        printf("temperture =%f\\r\\n\\r\\n",(1.43-3.3/4096*ad)/0.0043+25);

        delay_ms(1000);
    }
}

值得注意的是,獲取內(nèi)部溫度的核心代碼就以下幾行:

adc_software_trigger_enable(ADC0, ADC_REGULAR_CHANNEL);

while(!adc_flag_get(ADC0,ADC_FLAG_EOC));//檢查轉(zhuǎn)換標志
adc_flag_clear(ADC0, ADC_FLAG_EOC); // 清除結(jié)束標志

ad=ad+adc_regular_data_read(ADC0);//ADC轉(zhuǎn)換結(jié)果

只是為了防止偶然誤差,這里求50次的均值。

3 實驗現(xiàn)象

將程序編譯好后下載到板子中,通過串口助手可以看到在接收區(qū)有溫度值輸出。

16842453000809fyvw7xhxs

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17950

    瀏覽量

    363860
  • 溫度傳感器
    +關(guān)注

    關(guān)注

    48

    文章

    3037

    瀏覽量

    158780
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5650

    瀏覽量

    104088
  • Cortex-M
    +關(guān)注

    關(guān)注

    2

    文章

    231

    瀏覽量

    30341
  • GD32
    +關(guān)注

    關(guān)注

    7

    文章

    420

    瀏覽量

    25424
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 1 開發(fā)環(huán)境搭建

    設(shè)計的GD32F207I-EVAL開發(fā)板。 GD32F207I-EVAL開發(fā)板使用 GD32F207IK作為主控制
    的頭像 發(fā)表于 05-07 23:35 ?1.2w次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>1<b class='flag-5'>章</b> <b class='flag-5'>開發(fā)</b>環(huán)境搭建

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 7 定時

    系統(tǒng)滴答定時一般用來提供“心跳”作用,而GD32定時最基本功能也是定時,可以設(shè)置不同時間長度的定時。定時除了最基本的定時功能外,定時
    的頭像 發(fā)表于 05-11 09:00 ?1.3w次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>7<b class='flag-5'>章</b> 定時<b class='flag-5'>器</b>

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 8 定時

    Modulation” 的縮寫,簡稱脈寬調(diào)制,是利用微處理的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術(shù)。簡單一點,就是對脈沖寬度的控制。 GD32 的定時除了 TIMER5 和 6(基本定時
    的頭像 發(fā)表于 05-12 22:14 ?8962次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>8<b class='flag-5'>章</b> 定時<b class='flag-5'>器</b>

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 11 CPU的高級代理-DMA

    或者存儲和存儲之間的高速數(shù)據(jù)傳輸,因而被廣泛地使用。早在 8086 的應(yīng)用中就已經(jīng)有 Intel 的 8237 這種典型的 DMA 控制,而 GD32的 DMA 則是以類似外設(shè)的
    的頭像 發(fā)表于 05-16 08:59 ?4233次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>11<b class='flag-5'>章</b> CPU的高級代理-DMA

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 12 ADC

    GD32F2系列有 3 個逐次逼近型的ADC,精度為 12 位,有18個多路復(fù)用通道,可以轉(zhuǎn)換來自16個外部通道和2個內(nèi)部通道的模擬信號。其中ADC0 和 ADC1都有 16 個外部通道, ADC2
    的頭像 發(fā)表于 05-16 09:03 ?1.2w次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>12<b class='flag-5'>章</b> ADC

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 15 低功耗

    GD32的工作電壓(VDD)為2.0~3.6V。通過內(nèi)置的電壓調(diào)節(jié)提供所需的1.8V電源。當主電源VDD掉電后,通過VBAT腳為實時時鐘(RTC)和備份寄存提供電源。
    的頭像 發(fā)表于 05-17 08:59 ?8987次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>15<b class='flag-5'>章</b> 低功耗

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 16 RTC

    開發(fā)環(huán)境: MDK:Keil 5.30 開發(fā)板:GD32F207I-EVAL MCU:GD32F207IK 1 RTC工作原理 1.1 RTC簡介
    的頭像 發(fā)表于 05-18 22:14 ?8133次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>16<b class='flag-5'>章</b> RTC

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 17 看門狗

    開發(fā)環(huán)境: MDK:Keil 5.30 開發(fā)板:GD32F207I-EVAL MCU:GD32F207IK GD32 有兩個看門狗, 一個是
    的頭像 發(fā)表于 06-03 16:00 ?1.3w次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>17<b class='flag-5'>章</b> 看門狗

    【圖書分享】《STM32庫開發(fā)實戰(zhàn)指南

    庫函數(shù)開發(fā)小結(jié) 10 DMA——為CPU減負 11 ADC實驗(DMA方式) 12
    發(fā)表于 03-13 17:01

    STM32的內(nèi)部溫度傳感器

    實驗?zāi)康腟TM32內(nèi)部集成了一個溫度傳感器,可以用來測量芯片的溫度,本章學習如何讀取此溫度值,數(shù)據(jù)手冊請參看
    發(fā)表于 08-12 06:40

    STM32內(nèi)部溫度傳感器概述

    記錄一下,方便以后翻閱~主要內(nèi)容:1)STM32內(nèi)部溫度傳感器概述;2)相關(guān)實驗代碼解讀。實驗功能:系統(tǒng)啟動后,實時將內(nèi)部溫度
    發(fā)表于 12-10 06:11

    GD32 MCU原理及固件庫開發(fā)指南》+讀后感

    2介紹GD32 MCU快速入門與開發(fā)平臺搭建的方法,包括對軟硬件開發(fā)平臺、調(diào)試工具、GD32
    發(fā)表于 06-06 21:52

    GD32開發(fā)實戰(zhàn)指南(基礎(chǔ)) 19 程序加密

    GD32通過讀取芯片唯一ID號來實現(xiàn)程序的保護,防止被抄襲。96位的產(chǎn)品唯一身份標識所提供的參考號碼對任意一個GD32微控制
    的頭像 發(fā)表于 05-20 09:10 ?4724次閱讀
    <b class='flag-5'>GD32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>指南</b>(基礎(chǔ)<b class='flag-5'>篇</b>) <b class='flag-5'>第</b>19<b class='flag-5'>章</b> 程序加密

    GD32 MCU內(nèi)部溫度傳感器如何使用,以及適合哪種應(yīng)用場景?

    GD32 MCU全系列產(chǎn)品均內(nèi)置溫度傳感器內(nèi)部溫度傳感器可以用于測量器件周圍
    的頭像 發(fā)表于 02-28 09:26 ?2493次閱讀
    <b class='flag-5'>GD32</b> MCU<b class='flag-5'>內(nèi)部</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>如何使用,以及適合哪種應(yīng)用場景?

    AN095 提高GD32溫度傳感器使用精度的方法

    電子發(fā)燒友網(wǎng)站提供《AN095 提高GD32溫度傳感器使用精度的方法.pdf》資料免費下載
    發(fā)表于 01-17 16:14 ?1次下載
    AN095 提高<b class='flag-5'>GD32</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>使用精度的方法
    主站蜘蛛池模板: 罗源县| 旺苍县| 论坛| 调兵山市| 兴化市| 定南县| 嘉善县| 新蔡县| 公安县| 仪陇县| 瓦房店市| 奉化市| 六枝特区| 凤阳县| 项城市| 祥云县| 桦南县| 中牟县| 梧州市| 延安市| 乃东县| 普兰店市| 瓦房店市| 乌拉特前旗| 栾城县| 和林格尔县| 大同市| 桦甸市| 广平县| 景泰县| 密山市| 张家港市| 建平县| 崇仁县| 象山县| 旅游| 余庆县| 武鸣县| 谷城县| 屏南县| 建平县|