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

歷史上的今天

今天是:2025年02月18日(星期二)

正在發(fā)生

2020年02月18日 | stm32 TIM2定時(shí)器觸發(fā)ADC、DMA采樣

發(fā)布者:時(shí)光如夢 來源: eefocus關(guān)鍵字:stm32  TIM2  定時(shí)器觸發(fā)  ADC  DMA采樣 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

使用ADC的定時(shí)器觸發(fā)ADC轉(zhuǎn)換的功能,然后使用DMA進(jìn)行數(shù)據(jù)的搬運(yùn)!采用TIM2定時(shí)器的觸發(fā)間隔,實(shí)現(xiàn)ADC定時(shí)采樣轉(zhuǎn)換的功能,然后可以在程序的死循環(huán)中一直檢測DMA轉(zhuǎn)換完成標(biāo)志,然后進(jìn)行數(shù)據(jù)的讀取,或者使能DMA轉(zhuǎn)換完成中斷,這樣每次轉(zhuǎn)換完成就會產(chǎn)生中斷。 


示波器時(shí),由于要做調(diào)整橫坐標(biāo)顯示倍數(shù)增大和縮小,故需要改變采樣頻率,也就是改變TIM2 的定時(shí)器時(shí)間間隔,在TIM2初始化函數(shù)定義時(shí),添加u16 Value參數(shù),第一次調(diào)試時(shí),設(shè)置如下:


定時(shí)器2初始化函數(shù)void TIM2_Configuration(u16 Value),配置TIM_Period = Value - 1;

TIM_TimeBaseStructure.TIM_Period = Value - 1;//設(shè)置2ms一次TIM2比較的周期(注意此處!!!)

TIM_TimeBaseStructure.TIM_Prescaler = 1;//系統(tǒng)主頻56M,這里2分頻 (注意此處!!!)


DMA配置:

DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&ADCConvertedValue;//內(nèi)存存儲基地址

DMA_InitStructure.DMA_BufferSize = 2000;//DMA緩存大小,2000個(gè)


ADC配置:

ADC_InitStructure.ADC_ScanConvMode =DISABLE;//關(guān)閉掃描模式 因?yàn)橹挥幸粋€(gè)通道

ADC_InitStructure.ADC_ContinuousConvMode =DISABLE;//關(guān)閉連續(xù)轉(zhuǎn)換模式 否則只要觸發(fā)一次,后續(xù)的轉(zhuǎn)換就會永不停歇(除非CONT清0),這樣第一次以后的ADC,就不是由TIM2_CC2來觸發(fā)了

ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T2_CC2;//軟件轉(zhuǎn)換模式  


示波器中為防止波形頻閃,需要用到觸發(fā)電平。想讓觸發(fā)點(diǎn)定在屏幕中間,在第一次上電觸發(fā)脈沖到來時(shí),需要DMA中有至少半屏的數(shù)據(jù),若半屏為240個(gè)點(diǎn),則另外需要一個(gè)定時(shí)器來控制這個(gè)時(shí)間,采用TIM4,設(shè)置如下:


TIM_TimeBaseStructure.TIM_Period = 240*Value -1;     //240個(gè)點(diǎn)的定時(shí)時(shí)間   (注意此處!!!)

TIM_TimeBaseStructure.TIM_Prescaler = 1;         //系統(tǒng)主頻56M,這里2分頻 (注意此處!!!)


當(dāng)TIM2定時(shí)時(shí)間到,使能觸發(fā)中斷。當(dāng)觸發(fā)脈沖到來時(shí),記下當(dāng)前位置,即為觸發(fā)位置。禁能觸發(fā)中斷并再次啟動定時(shí)器,采集另外240個(gè)點(diǎn)。從上述位置左右各取240個(gè)點(diǎn),顯示在屏幕上即可;


遇到的問題:

1、在調(diào)整Value值來改變TIM2的時(shí)間間隔,240個(gè)點(diǎn)的定時(shí)時(shí)間出錯,理論上在進(jìn)入TIM4的中斷時(shí),應(yīng)采樣240多個(gè)點(diǎn)(比如為140時(shí),采樣242個(gè)點(diǎn)),但是Value為280時(shí),才7個(gè)點(diǎn)。


分析:


通過查看TIM_Period的數(shù)據(jù)類型發(fā)現(xiàn),其為u16,即unsigned short,范圍為0-65536,當(dāng)Value為280時(shí),TIM4的TIM_Period為67200,超過了u16的范圍,實(shí)際設(shè)置的TIM_Period值為1664-1。


TIM4的時(shí)間間隔:

((1+TIM_Prescaler )/56M)*(1+TIM_Period )=((1+1)/56M)*(1+1664-1)=59.4us 

采樣周期:

((1+TIM_Prescaler )/56M)*(1+TIM_Period )=((1+1)/56M)*(1+280-1)=10us 

通過以上計(jì)算,發(fā)現(xiàn)Value為280時(shí),為6采樣周期,與7個(gè)點(diǎn)的時(shí)間相差無幾,終于找出問題所在;


解決:

由于定時(shí)器的分頻TIM_Prescaler 設(shè)置的比較小,TIM4的TIM_Period 又做了240的乘數(shù),想要增大定時(shí)器時(shí)間間隔,使得Value很容易超范圍,可將TIM_Prescaler設(shè)置為19,采樣周期為10us(即定時(shí)器TIM2時(shí)間間隔),Value只需設(shè)置為28即可。


2、以上是Value過大時(shí)出現(xiàn)的問題,但當(dāng)Value比較小時(shí),還是在原來的TIM設(shè)置條件下,TIM_Prescaler  = 1,當(dāng)Value小于28時(shí),當(dāng)TIM4定時(shí)時(shí)間到時(shí),只采集了100多個(gè)點(diǎn)。


分析:        


ADC轉(zhuǎn)換就是輸入模擬的信號量,單片機(jī)轉(zhuǎn)換成數(shù)字量。讀取數(shù)字量必須等轉(zhuǎn)換完成后,完成一個(gè)通道的讀取叫做采樣周期。采樣周期一般來說=轉(zhuǎn)換時(shí)間+讀取時(shí)間。而轉(zhuǎn)換時(shí)間=采樣時(shí)間+12.5個(gè)時(shí)鐘周期。


CPU的頻率為56MHz ,ADC取4分頻,即為14MHz,則ADC總轉(zhuǎn)換時(shí)間為:TCONV = 1.5 + 12.5 = 14周期= 14/14M = 1μs


故采一個(gè)點(diǎn)的時(shí)間理論上略大于1us,而在Value設(shè)置為28時(shí),TIM2的時(shí)間間隔正好為1us,導(dǎo)致240us實(shí)際采集的點(diǎn)數(shù)比較少,通過多次試驗(yàn),修改Value的值,發(fā)現(xiàn)當(dāng)取值為32是正好采樣正確,為31時(shí)則不行,通過計(jì)算為1.1us,故需要設(shè)置TIM2的采樣間隔大于此數(shù)值即可。

關(guān)鍵字:stm32  TIM2  定時(shí)器觸發(fā)  ADC  DMA采樣 引用地址:stm32 TIM2定時(shí)器觸發(fā)ADC、DMA采樣

上一篇:基于STM32實(shí)現(xiàn)孤立詞語音識別系統(tǒng)
下一篇:【STM32】定時(shí)器TIM觸發(fā)ADC采樣,DMA搬運(yùn)到內(nèi)存

推薦閱讀

前 言 隨著車輛數(shù)量的迅速增加,高效的車輛管理調(diào)度系統(tǒng)已經(jīng)成為各個(gè)車輛管理調(diào)度部門亟需的工具。而以 GPRS(通用分組無線業(yè)務(wù))和WLAN(無線局域網(wǎng))為代表的無線通信技術(shù)、以GPS(全球定位系統(tǒng))為代表的無線定位技術(shù)以及日益成熟的嵌入式系統(tǒng)軟硬件,都為先進(jìn)的無線車輛管理調(diào)度系統(tǒng)提供了技術(shù)基礎(chǔ)。 本文所實(shí)現(xiàn)的輛管理調(diào)度系統(tǒng)中,車載終...
臺積電顧及客戶疑慮,在考慮客戶信任優(yōu)先前提下,將南科14B廠(Fab 14B)因光阻劑瑕疵而報(bào)廢晶圓 幾乎全數(shù)重做,也使得報(bào)廢晶圓擴(kuò)大近十萬片,雖然客戶訂單將全數(shù)在下季補(bǔ)回,不過是否會延誤主要客戶產(chǎn)品上市值得密切注意。 據(jù)了解,目前在南科14B廠的月產(chǎn)能為十萬片,主要投片客戶為使用十六奈米和十二奈米制程,包括輝達(dá)、聯(lián)發(fā)科、海思和賽靈思等重量級...
時(shí)差式超聲波流量測量是超聲波熱量表進(jìn)行流量測量的常用方法,其原理是應(yīng)用一對超聲波換能器相向交替(或同時(shí))收發(fā)超聲波,通過觀測超聲波在介質(zhì)中的順流和逆流傳播時(shí)間差來間接測量流體的流速,再通過流速來計(jì)算流量的一種間接測量方法,但實(shí)際應(yīng)用中,流量受不同因素的影響,如:聲道長度、超聲波換能器的安裝角度、管段半徑的測量精度,信號畸變或丟失,...
2月13日,歌手李榮浩發(fā)微博吐槽微信的發(fā)語音功能,迅速登上微博熱搜。李榮浩建議微信推出2倍速或者3倍速聽語音,因?yàn)榻?jīng)常會收到一些連續(xù)十個(gè)60秒的語音,真頂不住啊。此文一出,引起不少吃瓜群眾的共鳴,有不少網(wǎng)友在評論中表示有同樣的感受。  有網(wǎng)友表示,對于李榮浩的這個(gè)想法舉雙手贊同,聽語音真的是很煩人啊,如果是普通話,轉(zhuǎn)了文字之后。...

史海拾趣

問答坊 | AI 解惑

請教大俠怎么在linux下把s3c2440的串口波特率設(shè)置為250k???

芯片資料上說可以選擇PCLK,UEXCLK,F(xiàn)CLK/n作為串口的時(shí)鐘源,假如用PCL最高可以達(dá)到115.2k,假如要更高的波特率就要用外接時(shí)鐘或者用FCLK/n作為串口的時(shí)鐘源,但是這個(gè)怎么設(shè)置呢?我設(shè)置了ULCON,UCON,UFCON不行啊,解壓linux之后就停在那里了,bo ...…

查看全部問答∨

51單片機(jī)編程C語言資料

現(xiàn)在學(xué)習(xí)51單片機(jī)一段時(shí)間了,以前下了一個(gè)c編程的資料,放在手邊查閱,感覺不錯,給大家分享一下…

查看全部問答∨

RT-Thread/LPC17xx 之文件系統(tǒng)

RT-Thread提供了一套簡潔的虛擬文件系統(tǒng)支持,有了它以后,文件操作就如同Linux一樣簡單。虛擬文件系統(tǒng)(VFS)是由Sun microsystems公司在定義網(wǎng)絡(luò)文件系統(tǒng)(NFS)時(shí)創(chuàng)造的。它是一種用于網(wǎng)絡(luò)環(huán)境的分布式文件系統(tǒng),是允許和操作系統(tǒng)使用不同的文件系統(tǒng) ...…

查看全部問答∨

S3C2450平臺上使用imaging API顯示PNG,PNG透明部分顯示白色

重新發(fā)帖! 開發(fā)平臺:Platform Builder5.0, EVC4+SP4 硬件平臺:urbetter公司2440和2450硬件平臺 問題:定制系統(tǒng)時(shí),添加Still Image Decoders下的JPG Decoder和PNG Decoder后,MFC開發(fā)應(yīng)用程序,利用API對JPG,PNG的支持來顯示JPG,PNG, ...…

查看全部問答∨

關(guān)于EDMA/DMA的一個(gè)問題

      具體怎么才算一次傳輸完成呢?也就是說,在EDMA或DMA傳輸中,什么時(shí)候才會發(fā)送一次傳輸完成中斷呢?(假設(shè)使能位和傳輸完成碼已經(jīng)設(shè)定).       不是說的可選傳輸完成碼.       對 ...…

查看全部問答∨

WIFI如何發(fā)送數(shù)據(jù)包

WIFI設(shè)備與無線路由器連接上后,如何獲取它的IP地址,WIFI發(fā)送數(shù)據(jù)包使用的通信協(xié)議是什么,發(fā)送數(shù)據(jù)包時(shí)需要調(diào)用哪些函數(shù)…

查看全部問答∨

wince 如何捕獲SD卡插拔

請問在wince 如何捕獲SD卡插拔的消息事件,高手指點(diǎn)! 感激不盡! …

查看全部問答∨

問一個(gè)關(guān)于fft的問題

大家好,我現(xiàn)在要用2812實(shí)現(xiàn)頻譜分析,其中要用到fft變換,但是用2812的fft.lib庫函數(shù)后,得到的是一系列的幅值點(diǎn),然而我現(xiàn)在要用液晶顯示頻譜曲線就必須將這些點(diǎn)與頻率值相對應(yīng),我不知道怎樣才能實(shí)現(xiàn),望高手給與指點(diǎn),十分感謝。…

查看全部問答∨

【求助版主和各路高手】430測量頻率,100多KHz,精確到Hz

現(xiàn)在需要測量頻率,要求如下 測量范圍100K-135K Hz,因?yàn)樾盘栴l率很精確的,變化不是很劇烈,一般穩(wěn)定在一個(gè)數(shù)據(jù)上面,所以要求精確到Hz,測量時(shí)間小于100mS。擬采用MSP430F149,主頻1.8432M. 求助大家 采用過定時(shí)捕捉。 ( ...…

查看全部問答∨

求助:am1808指令執(zhí)行速度問題

我在am1808中跑裸機(jī)程序,系統(tǒng)時(shí)鐘300Mhz,測試方法利用GPIO輸出高低電平測1000個(gè)nop指令的執(zhí)行時(shí)間,發(fā)現(xiàn)1個(gè)nop需要占用28ns,有誰知道原因嗎?該從哪些方面入手解決執(zhí)行速度問題?…

查看全部問答∨
小廣播
設(shè)計(jì)資源 培訓(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
主站蜘蛛池模板: 临海市| 即墨市| 仁布县| 时尚| 石泉县| 武强县| 正蓝旗| 遂溪县| 平定县| 方城县| 库尔勒市| 夹江县| 无棣县| 汶川县| 边坝县| 石河子市| 丰原市| 乌兰县| 桑日县| 宜春市| 岳阳县| 湘潭县| 崇左市| 浏阳市| 吉首市| 马鞍山市| 修武县| 郎溪县| 浦江县| 屯留县| 巴塘县| 秭归县| 嘉祥县| 博罗县| 安福县| 呼图壁县| 宣恩县| 冀州市| 紫阳县| 璧山县| 龙海市|