娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年02月07日(星期五)

正在發(fā)生

2020年02月07日 | 使用STM8S003K3 ADC簡(jiǎn)介以及初始化

發(fā)布者:科技創(chuàng)造者 來源: eefocus關(guān)鍵字:STM8S003K3  ADC  初始化 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

簡(jiǎn)介

最近用stm8s003k3開發(fā)項(xiàng)目,用到了ADC模塊,記錄一下筆記也分享一下心得

軟件環(huán)境:STVD+COSMIC

硬件環(huán)境:STM8S003K3 TSSOP20封裝

模塊:ADC


1.ADC功能以及框圖

在這里插入圖片描述

由STM8S參考手冊(cè)可以得到幾個(gè)信息:

1、有ADC1和ADC2兩個(gè)(實(shí)際上得看封裝,我這款只有ADC1)

2、有多達(dá)16個(gè)輸入通道(看封裝,我這款只有2~6輸入)

3、有好幾個(gè)擴(kuò)展功能

具體的功能如下所示

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

*由框圖可以看出ADC1和ADC2差別還是有一點(diǎn)的,一些多引腳的芯片中ADC2的帶模擬參考正負(fù)極,在模擬放大中,可通過減小參考電壓來提供更大的分辨率。由于沒有用到所以不考慮

*轉(zhuǎn)換結(jié)束時(shí)可產(chǎn)生中斷

*f MASTER 可以被分頻2 到18

*ADC 輸入電壓范圍:VSSA ≤ VIN ≤ VDDA

*可以選擇ADC 專用外部中斷(ADC_ETR)或者定時(shí)器觸發(fā)信號(hào)(TRGO)來作為

外部觸發(fā)信號(hào)

在這里插入圖片描述

2.功能描述

2.1Enable/Disable ADC

在這里插入圖片描述

2.2轉(zhuǎn)換模式

ADC有五種轉(zhuǎn)換模式:?jiǎn)未文J?、連續(xù)模式、帶緩存的連續(xù)模式、單詞掃描模式、連續(xù)掃描模式,可以將以上模式分類便于理解


2.2.1ADC單通道:

A、要求:進(jìn)行一次ADC轉(zhuǎn)換,配置為單次模式使能,掃描模式關(guān)閉,這樣ADC的這個(gè)通道轉(zhuǎn)換一次后,就停止轉(zhuǎn)換了。

B、要求:進(jìn)行連續(xù)ADC轉(zhuǎn)換,配置為連續(xù)模式使能,掃描模式關(guān)閉,這樣ADC的這個(gè)通道轉(zhuǎn)換一次后,接著進(jìn)行下一次轉(zhuǎn)換,不斷連續(xù)。


2.2.2ADC多通道:

C、要求:進(jìn)行一輪ADC轉(zhuǎn)換:配置為單次模式使能,掃描模式使能,這樣ADC的多個(gè)通道,按照配置的順序依次轉(zhuǎn)換一次后,就停止了。

D、要求:進(jìn)行連續(xù)的ADC轉(zhuǎn)換:配置為連續(xù)模式使能,掃描模式使能,這樣ADC的多個(gè)通道,按照配置的順序轉(zhuǎn)換一次后,接著進(jìn)行下一次轉(zhuǎn)換,不斷連續(xù)。


2.2.3結(jié)論:

掃描模式只在多通道的條件下有效,來使得各個(gè)通道按照配置循環(huán)依次轉(zhuǎn)換,而單次模式無論在單通道還是多通道下只對(duì)這些或者這個(gè)通道進(jìn)行一次轉(zhuǎn)換


2.3對(duì)齊方式

通多ADC_CR2的ALIGN位控制對(duì)齊方式

在這里插入圖片描述

2.4施密特觸發(fā)器

施密特觸發(fā)器是用于輸入信號(hào)整形的,ADC應(yīng)該不用施密特觸發(fā),才可以保持輸入模擬信號(hào)的連續(xù)性 ,備注不用的ADC輸入口如果禁止了施密特觸發(fā),比如UART的RX,在ADC初始化時(shí)禁止了施密特觸發(fā),該腳又復(fù)用為UART-RX,此時(shí)RX信號(hào)根本進(jìn)不到UART接收模塊中,將不能產(chǎn)生UART接收中斷,后來當(dāng)它打開施密特觸發(fā)器后,URAT-RX接收也就正常了。


3.ADC初始化代碼實(shí)現(xiàn)

static Adc_Config_t      Adc_Config;


void Adc_Init(const  Adc_Config_t * config)

{

memcpy(&Adc_Config, config, sizeof(Adc_Config));

/* 清空對(duì)齊標(biāo)志位 */

    ADC_CR2 &= (uint8_t)(~0x08);

    /* ----------------------------------對(duì)齊方式 ----------------------------------*/

    ADC_CR2 |= (uint8_t)Adc_Config.Align;

     /* ---------------------------------轉(zhuǎn)換方式 ----------------------------------*/

    if (Adc_Config.Mode == 0x01)

    {

        /* 設(shè)置連續(xù)*/

        ADC_CR1 |= 0x02;

    }

    else 

    {

        /*設(shè)置單次轉(zhuǎn)換模式 */

        ADC_CR1 &= (uint8_t)(~0x02);

    }

    /* 清空ADC通道 */

    ADC_CSR &= (uint8_t)(~ADC_CSR_CH);

    /* 設(shè)置ADC的通道 */

    ADC_CSR |= (uint8_t)(Adc_Config.Channel);

    /* ------------------------------------ADC的分頻------------------------------- */

    /*清空寄存器 */

    ADC_CR1 &= (uint8_t)(~0x70); 

    /*配置寄存器 */

    ADC_CR1 |= (uint8_t)(Adc_Config.Prescaler);


    /* ------------------------------------ADC的分觸發(fā)方式------------------------------- */

    /* 清空寄存器*/

    ADC_CR2 &= (uint8_t)(~0x30);

    /* 選擇觸發(fā)方式或關(guān)閉 */

    ADC_CR2 |= (uint8_t)(Adc_Config.ExtTrig);


    /* ----------------------------------配置要關(guān)閉的施密特觸發(fā)器--------------------------------- */

    ADC_TDRL |= (uint8_t)((uint8_t)0x01 << (uint8_t)Adc_Config.SchmittTrigg);


    /* 使能ADC */

    ADC_CR1 |= 0x01;

  

    /* 使能ADC中斷 */

    ADC_CSR |= 0x20;

    

    /* 開始轉(zhuǎn)換,第二次開啟哦 */

    ADC_CR1 |= ((uint8_t)0x01)

 }


然后在.h中定義我們要的枚舉和結(jié)構(gòu)體


  typedef enum

  {

    ADC_ALIGN_LEFT = (uint8_t)0x00,

    ADC_ALIGN_RIGHT = (uint8_t)0x08

  } Adc_AlignType_t;

  

  typedef enum

  {

    ADCDRV_CHANNEL2 = 0x02,

    ADCDRV_CHANNEL3 = 0x03,

    ADCDRV_CHANNEL4 = 0x04,

    ADCDRV_CHANNEL5 = 0x05,

    ADCDRV_CHANNEL6 = 0x06

  } Adc_Channel_t;

  

  typedef enum

  {

    ADC_EXTTRIG_TIM = (uint8_t)0x40,

    ADC_EXTTRIG_GPIO = (uint8_t)0x50,

    ADC_EXTTRIG_DISABLE = (uint8_t)0x00

  } Adc_ExtTrig_TypeDef;

  

  typedef enum

  {

    ADC_SCHMITTTRIG_CHANNEL2 = 0x02,

    ADC_SCHMITTTRIG_CHANNEL3 = 0x03,

    ADC_SCHMITTTRIG_CHANNEL4 = 0x04,

    ADC_SCHMITTTRIG_CHANNEL5 = 0x05,

    ADC_SCHMITTTRIG_CHANNEL6 = 0x06

  } Adc_SchmittTrigg_TypeDef;

  

  typedef enum

  {

    ADC_CONVERSIONMODE_SINGLE = (uint8_t)0x00,

    ADC_CONVERSIONMODE_CONTINUOUS = (uint8_t)0x01

  } Adc_ConversionMode_t;

  

  typedef enum

  {

    ADC_PRESSEL_FCPU_D2  = (uint8_t)0x00, 

    ADC_PRESSEL_FCPU_D3  = (uint8_t)0x10, 

    ADC_PRESSEL_FCPU_D4  = (uint8_t)0x20,

    ADC_PRESSEL_FCPU_D6  = (uint8_t)0x30,

    ADC_PRESSEL_FCPU_D8  = (uint8_t)0x40, 

    ADC_PRESSEL_FCPU_D10 = (uint8_t)0x50,

    ADC_PRESSEL_FCPU_D12 = (uint8_t)0x60, 

    ADC_PRESSEL_FCPU_D18 = (uint8_t)0x70 

  } Adc_PrescalerType_t;

  

  typedef struct

  {

    Adc_ConversionMode_t Mode;

    Adc_Channel_t Channel;

    Adc_PrescalerType_t Prescaler;

    Adc_AlignType_t Align;

    Adc_ExtTrig_TypeDef ExtTrig;

    Adc_SchmittTrigg_TypeDef SchmittTrigg;

  } Adc_Config_t;


然后我們定義一個(gè)配置好參數(shù)的結(jié)構(gòu)體,將這個(gè)結(jié)構(gòu)體的首地址傳進(jìn)初始化函數(shù)就可以啦

關(guān)鍵字:STM8S003K3  ADC  初始化 引用地址:使用STM8S003K3 ADC簡(jiǎn)介以及初始化

上一篇:STM8S使用外部時(shí)鐘引起串口數(shù)據(jù)傳輸錯(cuò)誤
下一篇:關(guān)于STM8S003F3P6開發(fā)的筆記

推薦閱讀

2018年1月28日,中國(guó)電子成都熊貓8.6代液晶面板生產(chǎn)線項(xiàng)目點(diǎn)亮儀式在成都市雙流區(qū)西航港經(jīng)濟(jì)開發(fā)區(qū)舉行,預(yù)計(jì)到2019年上半年,成都中電熊貓G8.6液晶面板新型綠色智慧工廠全面達(dá)產(chǎn)。近年來,全球平板顯示產(chǎn)業(yè)繼續(xù)保持平穩(wěn)增長(zhǎng)態(tài)勢(shì),終端產(chǎn)品尺寸不斷增長(zhǎng)成為產(chǎn)業(yè)發(fā)展新動(dòng)力。在顯示產(chǎn)業(yè),成都不斷發(fā)力,加速布局落子相關(guān)重點(diǎn)企業(yè)和項(xiàng)目——2018年1月28日,...
MRAM開發(fā)商Spin Transfer Technologies Inc.已更名為Spin Memory Inc.(加利福尼亞州弗里蒙特),并在Applied Ventures LLC和ARM Ltd.領(lǐng)導(dǎo)的B輪融資中募集了5200萬美元。 Applied Ventures LLC是芯片制造設(shè)備供應(yīng)商Applied Materials Inc的風(fēng)險(xiǎn)投資部門。Spin Transfer Technologies成立于2007年,由孵化器公司Allied Minds全資擁有。 Glob...
內(nèi)容說明本發(fā)明屬于管道傳輸流體流量計(jì)量技術(shù)領(lǐng)域,具體涉及對(duì)射式小口徑超聲波流量計(jì)。發(fā)明背景超聲波流量計(jì)和傳統(tǒng)的機(jī)械式流量?jī)x表、電磁式流量?jī)x表相比具有計(jì)量精度高、量程比更大,更能適應(yīng)被測(cè)流體溫度、壓力、密度等參數(shù)的變化,對(duì)管徑及其管道水平、垂直走向的適應(yīng)性強(qiáng),使用方便,易于數(shù)字化管理等優(yōu)點(diǎn)。目前,超聲波流量計(jì)已經(jīng)廣泛的應(yīng)用到市政供...
目前,全球范圍內(nèi)的汽車巨頭都面臨缺芯難題。而除了汽車行業(yè)之外,手機(jī)和游戲機(jī)也同樣開始遭受芯片短缺的限制。據(jù)悉,越來越多的行業(yè)領(lǐng)袖發(fā)出警告,他們無法獲得足夠的芯片來生產(chǎn)他們的產(chǎn)品。 智能手機(jī)巨頭蘋果公司表示,一些高端iPhone的銷售受到零部件短缺的限制。半導(dǎo)體行業(yè)的兩大巨頭恩智浦和英飛凌紛紛表示,芯片供應(yīng)限制已經(jīng)不僅局限于汽車行業(yè)。電...

史海拾趣

問答坊 | AI 解惑

USB Blaster下載線制作(最全)

USB Blaster下載線的制作,供大家參考…

查看全部問答∨

MMU中的DOMAIN ACCESS CONTROL疑問

在讀MMU初始化部分代碼時(shí), 有一句是:MMU_SetDomain(0x55555550|DOMAIN1_ATTR|DOMAIN0_ATTR); 相當(dāng)于設(shè)置總共16個(gè)區(qū)域的訪問權(quán)限吧,我不大明白,為什么就分成16個(gè)區(qū)間了? 這個(gè)是怎么推算過來的,還有每個(gè)區(qū)間對(duì)應(yīng)的虛擬地址(或者說物理地址 ...…

查看全部問答∨

如何在PB下刪除些沒用的組件 使NK.BIN文件盡量小

請(qǐng)教大家如何在PB下刪除些沒用的組件 使NK.BIN文件盡量小 幫忙講解的詳細(xì)點(diǎn) 謝謝各位大哥了!!…

查看全部問答∨

WinCE 對(duì)無線網(wǎng)絡(luò)的支持??

大家好,想了解一下wince5.0 wince6.0 對(duì)無線網(wǎng)絡(luò)的支持情況,不如wifi,gprs,3G 我了解wince應(yīng)該帶有wifi的協(xié)議棧,不知道對(duì)gprs,3G有沒有支持,如果要實(shí)現(xiàn)是不是困難很大. 謝謝! …

查看全部問答∨

ARM啟動(dòng)問題解決!

大家好,我買了一個(gè)EP9315的開發(fā)板,按照提供的資料,在配置好啟動(dòng)腳本和下載好文件系統(tǒng)和內(nèi)核后,設(shè)置跳線帽從flash啟動(dòng)后出現(xiàn)下面情況: Platform: Cirrus Logic EDB9315 Board (ARM920T) Rev A Copyright (C) 2000, 2001, 2002, Red Hat, Inc. ...…

查看全部問答∨

【轉(zhuǎn)】《Cortex-M3權(quán)威指南》

這本書寫的很通俗,啃過兩章,想不到這么快就有強(qiáng)人翻譯出來了,太贊了~~另外那個(gè)論壇似乎也不錯(cuò),香豬還知道哪些arm論壇人氣好點(diǎn)的么? …

查看全部問答∨

一樣的程序i2c1只是引腳重映射了映射完管腳沒有信號(hào)

用本來的(pb6、7)很好  remap 后(pb8、9) 一直是高電平afio 已經(jīng)使能…

查看全部問答∨

請(qǐng)問誰用過MDK提供的RL-FlashFS庫(kù)?

我在使用MDK提供的RL-FlashFS庫(kù)去應(yīng)用SD卡的時(shí)候發(fā)現(xiàn)有全速運(yùn)行時(shí)可以正常, 但是在進(jìn)入keil調(diào)試環(huán)境下單步調(diào)試發(fā)現(xiàn),老是跳到HardFault中斷中,這是為什么呢? 大家有什么關(guān)于RL-FlashFS的資料嗎?如果可以,給我個(gè)鏈接,謝謝!…

查看全部問答∨

參數(shù)設(shè)置

理論參數(shù)計(jì)算: 取C0=C1=C2=0.01uF. 則基準(zhǔn)電阻R0=. 品質(zhì)因數(shù)Q=fo/BW. 當(dāng)f0=500hz,Q=10,Au=4.5時(shí)。 各個(gè)電阻值分別為:      R1=QR0/Au = 70.7K。             ...…

查看全部問答∨

啟動(dòng)代碼里的這段棧初始化代碼 是怎么執(zhí)行的

我知道啟動(dòng)代碼里的向量表編輯段代碼是放在rom起始地址的,即編譯后放在0地址執(zhí)行   那啟動(dòng)代碼里一開始的這段棧初始化代碼 是怎么執(zhí)行的,是放在rom哪里執(zhí)行的呢?難道不執(zhí)行嗎?   Stack_Size      EQU&n ...…

查看全部問答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 肇州县| 龙岩市| 临汾市| 资溪县| 台江县| 辽源市| 合阳县| 昌黎县| 泰来县| 河北区| 通许县| 普安县| 荣昌县| 北川| 宁都县| 永顺县| 嘉禾县| 吉木乃县| 军事| 根河市| 竹溪县| 夏津县| 潜山县| 鹤岗市| 平顺县| 牙克石市| 明水县| 镇沅| 类乌齐县| 道孚县| 和政县| 景谷| 家居| 陕西省| 临澧县| 宝清县| 崇义县| 南涧| 三原县| 方城县| 平乡县|