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

ADC

12位ADC是一種逐次逼近型模擬數(shù)字轉(zhuǎn)換器。它有多達(dá)19個通道,可測量16個外部和2個內(nèi)部信號源和Vbat通道。各通道的A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)行。ADC的結(jié)果可以左對齊或右對齊方式存儲在16位數(shù)據(jù)寄存器中。

模擬看門狗特性允許應(yīng)用程序檢測輸入電壓是否超出用戶定義的高/低閥值。

有16個多路通道。

 

通道選擇:


可以把轉(zhuǎn)換組織成兩組:規(guī)則組和注入組。在任意多個通道上以任意順序進(jìn)行的一系列轉(zhuǎn)換構(gòu)成成組轉(zhuǎn)換。例如,可以如下順序完成轉(zhuǎn)換:通道3、通道8、通道2、通道2、通道0、通道2、通道2、通道15。


規(guī)則組由多達(dá)16個轉(zhuǎn)換組成。規(guī)則通道和它們的轉(zhuǎn)換順序在ADC_SQRx寄存器中選擇。規(guī)則組中轉(zhuǎn)換的總數(shù)應(yīng)寫入ADC_SQR1寄存器的L[3:0]位中。


注入組由多達(dá)4個轉(zhuǎn)換組成。注入通道和它們的轉(zhuǎn)換順序在ADC_JSQR寄存器中選擇。注入組里的轉(zhuǎn)換總數(shù)目應(yīng)寫入ADC_JSQR寄存器的L[1:0]位中。如果ADC_SQRx或ADC_JSQR寄存器在轉(zhuǎn)換期間被更改,當(dāng)前的轉(zhuǎn)換被清除,一個新的啟動脈沖將發(fā)送到ADC以轉(zhuǎn)換新選擇的組。

 

單次轉(zhuǎn)換模式:


單次轉(zhuǎn)換模式下,ADC只執(zhí)行一次轉(zhuǎn)換。該模式既可通過設(shè)置ADC_CR2寄存器的ADON位(只適用于規(guī)則通道)啟動也可通過外部觸發(fā)啟動(適用于規(guī)則通道或注入通道),這時CONT位為0。

一旦選擇通道的轉(zhuǎn)換完成:

如果一個規(guī)則通道被轉(zhuǎn)換:

─ 轉(zhuǎn)換數(shù)據(jù)被儲存在16位ADC_DR寄存器中

─ EOC(轉(zhuǎn)換結(jié)束)標(biāo)志被設(shè)置 ─ 如果設(shè)置了EOCIE,則產(chǎn)生中斷。

如果一個注入通道被轉(zhuǎn)換:

─ 轉(zhuǎn)換數(shù)據(jù)被儲存在16位的ADC_DRJ1寄存器中

─ JEOC(注入轉(zhuǎn)換結(jié)束)標(biāo)志被設(shè)置 ─ 如果設(shè)置了JEOCIE位,則產(chǎn)生中斷。

然后ADC停止

 

連續(xù)轉(zhuǎn)換模式:


在連續(xù)轉(zhuǎn)換模式中,當(dāng)前面ADC轉(zhuǎn)換一結(jié)束馬上就啟動另一次轉(zhuǎn)換。此模式可通過外部觸發(fā)啟動或通過設(shè)置ADC_CR2寄存器上的ADON位啟動,此時CONT位是1。

每個轉(zhuǎn)換后:


如果一個規(guī)則通道被轉(zhuǎn)換:

─ 轉(zhuǎn)換數(shù)據(jù)被儲存在16位的ADC_DR寄存器中

─ EOC(轉(zhuǎn)換結(jié)束)標(biāo)志被設(shè)置

─ 如果設(shè)置了EOCIE,則產(chǎn)生中斷。

注入通道不能被用于連續(xù)轉(zhuǎn)換模式,唯一的例外是當(dāng)規(guī)則通道配置為連續(xù)轉(zhuǎn)換后,注入通道配置為自動轉(zhuǎn)換。

 

掃描模式:

此模式用來掃描一組模擬通道。


掃描模式可通過設(shè)置ADC_CR1寄存器的SCAN位來選擇。一旦這個位被設(shè)置,ADC掃描所有被ADC_SQRX寄存器(對規(guī)則通道)或ADC_JSQR(對注入通道)選中的所有通道。在每個組的每個通道上執(zhí)行單次轉(zhuǎn)換。在每個轉(zhuǎn)換結(jié)束時,同一組的下一個通道被自動轉(zhuǎn)換。如果設(shè)置了CONT位,轉(zhuǎn)換不會在選擇組的最后一個通道上停止,而是再次從選擇組的第一個通道繼續(xù)轉(zhuǎn)換。

如果設(shè)置了DMA位,在每次EOC后,DMA控制器把規(guī)則組通道的轉(zhuǎn)換數(shù)據(jù)傳輸?shù)絊RAM中。而注入通道轉(zhuǎn)換的數(shù)據(jù)總是存儲在ADC_JDRx寄存器中。

 

在以下情況中,ADC_SR寄存器的EOC位將被設(shè)置:
在每個規(guī)則組序列結(jié)束后,如果EOCS位被清0
在每個規(guī)則通道轉(zhuǎn)換結(jié)束,如果EOCS位設(shè)置為1
注入通道轉(zhuǎn)換結(jié)束數(shù)據(jù)總是存放在ADC_JDRx寄存器中

 

注入通道管理:

觸發(fā)注入

清除ADC_CR1寄存器的JAUTO位,并且設(shè)置SCAN位,即可使用觸發(fā)注入功能。

1. 利用外部觸發(fā)或通過設(shè)置ADC_CR2寄存器的ADON位,啟動一組規(guī)則通道的轉(zhuǎn)換。

2. 如果在規(guī)則通道轉(zhuǎn)換期間產(chǎn)生一外部注入觸發(fā)或者JSWSTART位被設(shè)置,當(dāng)前轉(zhuǎn)換被復(fù)位,注入通道序列被以單次掃描方式進(jìn)行轉(zhuǎn)換。

3. 然后,恢復(fù)上次被中斷的規(guī)則組通道轉(zhuǎn)換。如果在注入轉(zhuǎn)換期間產(chǎn)生一規(guī)則事件,注入轉(zhuǎn)換不會被中斷,但是規(guī)則序列將在注入序列結(jié)束后被執(zhí)行。

注:當(dāng)使用觸發(fā)的注入轉(zhuǎn)換時,必須保證觸發(fā)事件的間隔長于注入序列。例如:序列長度為30個ADC時鐘周期(即2個具有3個時鐘間隔采樣時間的轉(zhuǎn)換),觸發(fā)之間最小的間隔必須是31個ADC時鐘周期。

自動注入

如果設(shè)置了JAUTO位,在規(guī)則組通道之后,注入組通道被自動轉(zhuǎn)換。這可以用來轉(zhuǎn)換在ADC_SQRx和ADC_JSQR寄存器中設(shè)置的多至20個轉(zhuǎn)換序列。

在此模式里,必須禁止注入通道的外部觸發(fā)。

如果除JAUTO位外還設(shè)置了CONT位,規(guī)則通道至注入通道的轉(zhuǎn)換序列被連續(xù)執(zhí)行。

 

間斷模式:

規(guī)則組

此模式通過設(shè)置ADC_CR1寄存器上的DISCEN位激活。它可以用來執(zhí)行一個短序列的n次轉(zhuǎn)換(n<=8),此轉(zhuǎn)換是ADC_SQRx寄存器所選擇的轉(zhuǎn)換序列的一部分。數(shù)值n由ADC_CR1寄存器的DISCNUM[2:0]位給出。

一個外部觸發(fā)信號可以啟動ADC_SQRx寄存器中描述的下一輪n次轉(zhuǎn)換,直到此序列所有的轉(zhuǎn)換完成為止。總的序列長度由ADC_SQR1寄存器的L[3:0]定義。

例如:

n=3,被轉(zhuǎn)換的通道 = 0、1、2、3、6、7、9、10

第一次觸發(fā):轉(zhuǎn)換的序列為 0、1、2

第二次觸發(fā):轉(zhuǎn)換的序列為 3、6、7

第三次觸發(fā):轉(zhuǎn)換的序列為 9、10,并產(chǎn)生EOC事件

第四次觸發(fā):轉(zhuǎn)換的序列 0、1、2

注: 當(dāng)以間斷模式轉(zhuǎn)換一個規(guī)則組時,轉(zhuǎn)換序列結(jié)束后不自動從頭開始。 當(dāng)所有子組被轉(zhuǎn)換完成,下一次觸發(fā)啟動第一個子組的轉(zhuǎn)換。在上面的例子中,第四次觸發(fā)重新轉(zhuǎn)換第一子組的通道0、1和2

 

注入組

此模式通過設(shè)置ADC_CR1寄存器的JDISCEN位激活。在一個外部觸發(fā)事件后,該模式按通道順序逐個轉(zhuǎn)換ADC_JSQR寄存器中選擇的序列。

 一個外部觸發(fā)信號可以啟動ADC_JSQR寄存器選擇的下一個通道序列的轉(zhuǎn)換,直到序列中所有的轉(zhuǎn)換完成為止。總的序列長度由ADC_JSQR寄存器的JL[1:0]位定義。

例如: n=1,被轉(zhuǎn)換的通道 = 1、2、3

第一次觸發(fā):通道1被轉(zhuǎn)換

第二次觸發(fā):通道2被轉(zhuǎn)換

第三次觸發(fā):通道3被轉(zhuǎn)換,并且產(chǎn)生EOC和JEOC事件

第四次觸發(fā):通道1被轉(zhuǎn)換

 

 

設(shè)置步驟:

1. 配置相關(guān)輸入通道的IO口。

2. 設(shè)置DMA

3. 如果雙重ADC或三重采樣,設(shè)置ADC的公共寄存器

4. 配置要使用到的ADC

程序:

/************************************  

    標(biāo)題:一個ADC連續(xù)采樣  

    軟件平臺:IAR for ARM6.21  

    硬件平臺:stm32f4-discovery  

    主頻:168M  

      

    author:小船  

    data:2012-02-14  

*************************************/  

  

#include   

#include "MyDebugger.h"  

  

__IO uint16_t ADC3ConvertedVault[10000];  

char TXbuffer[] = "PC1輸入電壓為:x.xxxV\n\r";  

  

void ADC3_IN11_Config(void);  

  

void main ()  

{     

  SCB->AIRCR = 0x05FA0000 | 0x400;  //中斷優(yōu)先級分組 搶占:響應(yīng)=3:1  

   

  ADC3_IN11_Config();  

     

  MyDebugger_Init();  

  

  while(1)  

  {  

  };  

}  

  

void ADC3_IN11_Config(void)  

{  

    /***GPIO設(shè)置***/  

  RCC->AHB1ENR |= (1<<2); //打開GPIOC時鐘  

  GPIOC->MODER &= 0xfffffff3;//PC1模擬模式  

  GPIOC->MODER |= 0x0000000C;  

  GPIOC->PUPDR &= 0xfffffff3;//無上拉無下拉     

   

  /***DMA設(shè)置***/  

  RCC->AHB1ENR |= (1<<22); //使能DMA2時鐘  

  ADC3->CR2 &= ~(1<<8);//ADC3 dma發(fā)送模式除能  

  DMA2_Stream0->CR &= 0xFFFFFFFE; //除能DMA2_Stream0  

  while(DMA2_Stream0->CR & 0x00000001);//確保DMA可以被設(shè)置   

  DMA2->LIFCR |= 0x0000003D;//傳送前清空DMA1_Stream5所有中斷標(biāo)志   

  DMA2_Stream0->PAR = (uint32_t)&ADC3->DR;//設(shè)置外設(shè)地址  

  DMA2_Stream0->M0AR = (uint32_t)ADC3ConvertedVault; //設(shè)置內(nèi)存地址  

  DMA2_Stream0->CR |= 0x0002800;//16位數(shù)據(jù)  

  DMA2_Stream0->NDTR = 10000; //設(shè)置dma傳輸數(shù)據(jù)的數(shù)量  

  /*  

    設(shè)置dma2通道2,即ADC3  

    優(yōu)先級Medium  

    傳輸方向外設(shè)到內(nèi)存  

    內(nèi)存遞增模式  

    循環(huán)模式  

    傳輸完成中斷  

  */  

  DMA2_Stream0->CR |= ( 0x04000000 | 0x00010000 | 0x0  

                        | (1<<10) | (1<<8) | (1<<4) );   

    

  NVIC->IP[56] = 0xB0;  

  NVIC->ISER[1] |= (1<<(56-32));  

    

  DMA2_Stream0->CR |= 1; //DMA2數(shù)據(jù)流0使能  

    

  /***ADC3設(shè)置***/  

  RCC->APB2ENR |= (1<<10); //使能ADC3時鐘  

  ADC3->SQR1 = 0x00000000;//轉(zhuǎn)換一個通道  

  ADC3->SQR3 = 0x0000000B;//第一個通道為ADC3_in11  

  ADC3->CR1 &= 0x00000000;   

  ADC3->CR2 &= 0x00000000;    

  ADC3->CR2 |= (1<<1);  //連續(xù)轉(zhuǎn)換  

  ADC3->CR2 |= (1<<9); //最后一次ADC轉(zhuǎn)換后發(fā)出dma請求  

  ADC3->CR2 |= (1<<0);   //開啟AD轉(zhuǎn)換  

    

  ADC3->CR2 |= (1<<8);//ADC dma發(fā)送模式使能  

    

  ADC3->CR2 |= (1<<30); //規(guī)則通道轉(zhuǎn)換開始   

}  

  

void DMA2_Stream0_IRQHandler (void)  

{  

  uint32_t i;  

  uint32_t Average;  

  if(DMA2->LISR & 0x00000010)  

  {  

      DMA2->LIFCR |= 0x00000010;  

      for(i = 0; i < 10000; i++)  // 對一萬個數(shù)據(jù)取平均值  

        Average += ADC3ConvertedVault[i];  

      Average *= 3;  

      Average /= 40960;  

      TXbuffer[14] = ( Average / 1000 ) % 10 + 0x30;//轉(zhuǎn)換成ASCII碼  

      TXbuffer[16] = ( Average / 100 ) % 10 + 0x30;  

      TXbuffer[17] = ( Average / 10 ) % 10 + 0x30;  

      TXbuffer[18] = Average % 10 + 0x30;  

      MyDebugger_Message(TXbuffer, sizeof(TXbuffer)/sizeof(char));    

  }  

}  

運(yùn)行結(jié)果:


關(guān)鍵字:stm32f407  ADC  操作寄存器 引用地址:stm32f407之ADC(操作寄存器)

上一篇:stm32f407之GPIO(操作寄存器)
下一篇:Atmega8a的采樣(查詢法)

推薦閱讀

數(shù)字濾波為了對stm32f4的ADC和DAC有更多的了解,我決定做一個實用性比較強(qiáng)的實驗。就是數(shù)字濾波實驗,利用stm32f4的DAC可以產(chǎn)生噪聲的特點,利用它的一路DAC產(chǎn)生疊加噪聲的信號作為原始信號。然后用ADC測量,把結(jié)果經(jīng)過濾波處理后用DAC的另一通道把結(jié)果輸出,用雙蹤示波器觀察。一階慣性濾波器及其數(shù)字化一階慣性濾波器的傳遞函數(shù)為:利用一階差分法離散化...
汽車系統(tǒng)互聯(lián)是一個令人期待的高速增長的市場,同時也面臨一個難題亟待解決。如今數(shù)據(jù)安全變得日益重要,然而,汽車系統(tǒng)中有許多設(shè)備都存在安全隱患。例如,相對于現(xiàn)在大多數(shù)汽車電控單元(ECU)的8位、16位和32位處理器,現(xiàn)有的數(shù)據(jù)安全算法,ECC和RSA內(nèi)存占用過高,運(yùn)行速度太慢。此外,隨著汽車的平均壽命超過11.6年,未來還必須考慮量子計算攻擊的風(fēng)險...
據(jù)外媒報道,加拿大新任保守黨領(lǐng)袖艾林·奧圖爾(Erin O’Toole)昨(18)日在推文上表態(tài),計劃禁止華為開發(fā)該國的5G網(wǎng)絡(luò)。 艾林·奧圖爾在推特上發(fā)文稱,“不像(總理) 賈斯廷·特魯多(Justin Trudeau),我不相信中國政權(quán)的實體。如果我是(總理),華為將被禁止參與5G建設(shè)。”早些時候,艾林·奧圖爾曾表示,如果在下一屆大選中當(dāng)選為加拿大總理,他在...
據(jù)業(yè)內(nèi)消息人士透露,中國臺灣地區(qū)的高速傳輸芯片供應(yīng)商已獲得代工廠商的承諾,明年將提供足夠的產(chǎn)能支持,以迎接產(chǎn)業(yè)的繁榮。digitimes報道指出,消息人士稱,供應(yīng)商推出了多種高速傳輸芯片解決方案,包括無線5G、Wi-Fi 6E、有線2.5G以太網(wǎng)芯片、USB 4.0和PCIe 5.0接口解決方案,以配合不斷升級的CPU、GPU、AI和其他高性能計算芯片。消息人士表示,由...

史海拾趣

問答坊 | AI 解惑

【EEWORLD】救火車和你一起學(xué)ARM系列活動之五

----定時器中斷 在實驗三和實驗四中,我們研究了ARM的PLL倍頻和中斷體系的基本知識。本次實驗,我們將深入研究定時器中斷。把實驗三、實驗四的東西貫穿起來,與定時器0一起,組成一個完整的實驗。學(xué)習(xí)中要注意的幾個問問:1、定時器時鐘源的倍頻 ...…

查看全部問答∨

“天華杯”競賽???

本帖最后由 paulhyde 于 2014-9-15 09:20 編輯 怎么都沒見有人上傳“天華杯”競賽的資料啊?希望有資料的網(wǎng)友共享一下啊  …

查看全部問答∨

IGBT死區(qū)定義

IGBT死區(qū):保證IGBT可靠的開通與關(guān)斷。IGBT是功率半導(dǎo)體器件,在變頻調(diào)速,無功補(bǔ)償?shù)裙I(yè)領(lǐng)域應(yīng)用廣泛。歡迎大家就IGBT技術(shù)廣泛發(fā)表看法。…

查看全部問答∨

arm9-2410制板,要注意哪些?有人做過沒有?

arm9-2410制板,要注意哪些?有人做過沒有?…

查看全部問答∨

platform builder5.0 創(chuàng)建應(yīng)用程序的問題

新建一個工程,編譯通過的,建一個helloworld 的應(yīng)用程序,想改換icon,結(jié)果能添加icon,但是刪除不掉,用鍵盤上的delete也不行,沒反應(yīng),右鍵也沒有刪除的選項,有知道原因的嗎?…

查看全部問答∨

關(guān)于如何學(xué)習(xí)嵌入式 高手 們進(jìn)啊

大家好,我是一名大三的學(xué)生,學(xué)的是嵌入式方向的,但我們現(xiàn)在才學(xué)嵌入式操作系統(tǒng),都TMD還是理論,學(xué)了等于沒學(xué),就上學(xué)期還學(xué)了個匯編,現(xiàn)在一學(xué)期都快過完了,感覺什么關(guān)于嵌入式方面的都沒學(xué)到,如果靠下學(xué)期再來學(xué)點東西,以后出去就別想混了 ...…

查看全部問答∨

st7定時器使用

我使用的是ST7FLITE05YOM6的芯片,在使用LITE定時器的過程中,出現(xiàn)問題。源程序代碼如下,主要實現(xiàn)的功能是一秒鐘延時。請問一下各位這個源代碼為什么不能夠運(yùn)行,謝謝!st7/    ;-------------------------------------- ...…

查看全部問答∨

430工程師的招聘要求是什么啊

430工程師需要會什么,達(dá)到什么水平才行啊,等級評定標(biāo)準(zhǔn)是什么呢?新人求教了…

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

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

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

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 河西区| 梅河口市| 玛沁县| 澄城县| 江都市| 逊克县| 深泽县| 洛宁县| 米林县| 清水河县| 贵定县| 保定市| 法库县| 孟津县| 丰都县| 日土县| 靖宇县| 高平市| 紫云| 垣曲县| 勃利县| 霍邱县| 凌海市| 轮台县| 马关县| 丹寨县| 扎兰屯市| 正定县| 九龙坡区| 师宗县| 望城县| 乌兰浩特市| 遵义市| 焦作市| 高清| 宜君县| 太和县| 伊宁县| 荥阳市| 吉林省| 仁怀市|