在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

STM32定時(shí)器單脈沖模式的一個(gè)應(yīng)用示例

茶話MCU ? 來源:ST MCU 信息交流 ? 2020-05-14 09:29 ? 次閱讀

有人選用STM32系列的一款低功耗芯片STM32L431進(jìn)行產(chǎn)品開發(fā),在其應(yīng)用中需要通過STM32芯片驅(qū)動(dòng)一個(gè)小尺寸顯示屏,由于所選芯片不帶FSMC外設(shè),所以就想使用GPIO來進(jìn)行圖片數(shù)據(jù)的更新。顯示屏控制器數(shù)據(jù)寬度選用16位,通過GPIOA與之連接,另外,同時(shí)還用到一根口線模擬下面的讀寫控制線,該控制線平常為高電平。

在讀寫控制線的下降沿進(jìn)行數(shù)據(jù)的準(zhǔn)備,即MCU將圖形數(shù)據(jù)送到數(shù)據(jù)總線上,在讀寫控制線的上升沿顯示屏的控制器將數(shù)據(jù)取走。

這里我們想到了借助定時(shí)器輸出一路PWM信號(hào)模擬那根讀寫時(shí)序控制線,利用定時(shí)器的輸出比較事件觸發(fā)DMA,將數(shù)據(jù)送到GPIOA端口,然后在上升沿由屏控制器讀走數(shù)據(jù)。在DMA的傳輸完成中斷里關(guān)閉定時(shí)器的PWM輸出從而停止數(shù)據(jù)傳輸。

按照上面的思路來編程進(jìn)行調(diào)試后發(fā)現(xiàn)個(gè)問題,那就是在DMA傳輸完成中斷里去關(guān)閉定時(shí)器的PWM輸出時(shí),這個(gè)停止動(dòng)作不能做到很及時(shí),尤其在數(shù)據(jù)傳輸速率較高時(shí),即這個(gè)PWM輸出停止操作有個(gè)延時(shí),往往會(huì)導(dǎo)致多輸出幾個(gè)不必要的PWM脈沖。

比方本來計(jì)劃發(fā)送500個(gè)數(shù)據(jù),讀寫控制線相應(yīng)地也應(yīng)該只輸出500個(gè)PWM脈沖信號(hào),然后維持在高電平,但程序代碼是在完成了500個(gè)DMA數(shù)據(jù)傳輸后才去關(guān)閉定時(shí)器的PWM輸出,由于中斷響應(yīng)的時(shí)間加上關(guān)閉定時(shí)器輸出的代碼執(zhí)行時(shí)間可能會(huì)導(dǎo)致多輸出1個(gè)或2個(gè)不等的PWM脈沖后才停下來【說“可能”是因?yàn)樗鷤鬏斔俾屎吞幚泶a有關(guān)】,這些多輸出的脈沖雖不會(huì)觸發(fā)DMA傳輸了,但其上升沿還是會(huì)觸發(fā)顯示控制器的數(shù)據(jù)讀取操作,而這多讀取的數(shù)據(jù)并非正常操作,進(jìn)而會(huì)影響產(chǎn)品功能。【下圖所示紅色脈沖即多出的PWM信號(hào)】

那有沒有辦法讓定時(shí)器的PWM輸出個(gè)數(shù)跟DMA傳輸?shù)臄?shù)據(jù)個(gè)數(shù)剛好一致呢?即若要傳輸500個(gè)數(shù)據(jù)也就剛好輸出500個(gè)PWM脈沖。這里有個(gè)比較簡(jiǎn)單的辦法,就是使用STM32高級(jí)定時(shí)器的重復(fù)計(jì)數(shù)器和定時(shí)器輸?shù)膯蚊}沖輸出模式來實(shí)現(xiàn)上述要求。

所謂單脈沖輸出模式,其基本原理就是定時(shí)器的計(jì)數(shù)器開始工作后,當(dāng)碰到定時(shí)器更新事件時(shí)則停止計(jì)數(shù)工作,從而實(shí)現(xiàn)有限個(gè)數(shù)脈沖的輸出。對(duì)于不帶重復(fù)計(jì)數(shù)器寄存器的通用定時(shí)器,若工作在PWM輸出模式,計(jì)數(shù)器啟動(dòng)后輸出一個(gè)PWM脈沖則停止;若是帶重復(fù)計(jì)數(shù)器寄存器的高級(jí)定時(shí)器,工作在pwm輸出模式時(shí),計(jì)數(shù)器啟動(dòng)后則輸出指定個(gè)數(shù)的PWM脈沖后停止計(jì)數(shù),具體的PWM脈沖輸出個(gè)數(shù)由RCR寄存器的值與所選擇的計(jì)數(shù)模式【向上計(jì)數(shù)模式、向下計(jì)數(shù)模式、雙向計(jì)數(shù)模式】決定。關(guān)于定時(shí)器單脈沖模式細(xì)節(jié)請(qǐng)查看STM32各個(gè)系列的參考手冊(cè),下面閱讀推薦的《STM32定時(shí)器單脈沖輸出模式話題》也可以參考。

結(jié)合到這里的應(yīng)用,我們可以將方案稍做調(diào)整。使用高級(jí)定時(shí)器【這里使用TIM1】的一個(gè)輸出通道來實(shí)現(xiàn)讀寫控制時(shí)序脈沖,計(jì)數(shù)器采用向上計(jì)數(shù)模式,定時(shí)器采用PWM1單脈沖輸出模式,輸出的脈沖個(gè)數(shù)跟DMA待傳輸?shù)臄?shù)據(jù)個(gè)數(shù)保持一致,仍然通過定時(shí)器比較事件觸發(fā)數(shù)據(jù)的DMA傳輸。這樣的話,定時(shí)器輸出指定個(gè)數(shù)的PWM后即自行停止輸出,不再需要軟件代碼的干預(yù),而且最后將輸出鎖定在高電平,剛好滿足設(shè)計(jì)要求。【注:使用定時(shí)器單脈沖輸出模式,當(dāng)定時(shí)器停止計(jì)數(shù)后,輸出端最后鎖定的電平跟所選用的PWM模式和RCR寄存器的值以及計(jì)數(shù)方式三者有關(guān)。】

比方要寫入10個(gè)【數(shù)據(jù)弄小點(diǎn)便于示波器觀察】圖形數(shù)據(jù)到顯示控制器。則配置RCR=10-1;采用PWM1單脈沖輸出模式,向上計(jì)數(shù)方式。通過示波器我們可以看到如下輸出:

這里比較巧妙地使用了高級(jí)定時(shí)器地單脈沖輸出模式,做到了MCU寫多少數(shù)據(jù),屏控制器就讀取多少個(gè)數(shù)據(jù),不多不少。

順便提醒一下,當(dāng)完成定時(shí)器的初始化后,在使能定時(shí)器更新中斷或基于更新事件的DMA之前,記得對(duì)更新中斷事件標(biāo)志位先做個(gè)清零操作,否則有時(shí)可能會(huì)給我們帶來些困擾,比方一使能定時(shí)器中斷就跳入中斷服務(wù)程序或者剛使能基于更新事件的DMA傳輸就發(fā)生DMA傳輸。ST固件庫中的參考代碼如下:

__HAL_TIM_CLEAR_IT(&htimx,TIM_IT_UPDATE);

該話題之前也多次提醒過,這里再提醒下。還是經(jīng)常有人在應(yīng)用中卡到這個(gè)地方。其原因是定時(shí)器初始化過程中使用了軟件更新操作觸發(fā)更新事件讓用戶配置的數(shù)據(jù)即時(shí)生效,同時(shí)它也使得定時(shí)器更新事件標(biāo)志被置位了。

OK,上面主要是分享了一個(gè)基于高級(jí)定時(shí)器單脈沖輸出模式的一個(gè)應(yīng)用示例及思路。如果是通用定時(shí)器,它沒有RCR寄存器,是否還可以實(shí)現(xiàn)上述功能呢?應(yīng)該也是可以的,有興趣可以自行思考下。祝愿大家在STM32的產(chǎn)品開發(fā)過程中能對(duì)各個(gè)外設(shè)的功能及特性靈活運(yùn)用,不斷開發(fā)出自己滿意的產(chǎn)品。

最后,讓我們祈禱眼前的新型肺炎疫情早點(diǎn)過去!愿一切盡早回歸正常!

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

    關(guān)注

    114

    文章

    5197

    瀏覽量

    214672
  • STM32
    +關(guān)注

    關(guān)注

    2271

    文章

    10923

    瀏覽量

    357246
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3255

    瀏覽量

    115235

原文標(biāo)題:STM32定時(shí)器單脈沖模式的一個(gè)應(yīng)用示例

文章出處:【微信號(hào):stmcu832,微信公眾號(hào):茶話MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    脈沖模式調(diào)制的優(yōu)點(diǎn)是什么

    脈沖模式調(diào)制技術(shù)的些主要優(yōu)點(diǎn): 1. 抗干擾能力強(qiáng) 脈沖模式調(diào)制的個(gè)顯著優(yōu)點(diǎn)是其出色的抗干擾能力。由于
    的頭像 發(fā)表于 11-26 10:02 ?404次閱讀

    高級(jí)定時(shí)器PWM輸入模式的配置方法

    我們將向大家介紹高級(jí)定時(shí)器的另一個(gè)常見應(yīng)用——PWM輸入模式。在本節(jié)課中,我們將先圍繞輸入捕獲模式展開,并重點(diǎn)描述PWM輸入模式和涉及的寄存
    的頭像 發(fā)表于 11-08 16:48 ?2755次閱讀
    高級(jí)<b class='flag-5'>定時(shí)器</b>PWM輸入<b class='flag-5'>模式</b>的配置方法

    泰克信號(hào)發(fā)生脈沖模式應(yīng)用

    泰克信號(hào)發(fā)生在工程和科學(xué)領(lǐng)域得到了廣泛的應(yīng)用,其高精度和靈活性使其成為實(shí)驗(yàn)室和生產(chǎn)環(huán)境中的重要工具之。在各種應(yīng)用中,泰克信號(hào)發(fā)生脈沖模式應(yīng)用尤其值得注意。本文將探討泰克信號(hào)發(fā)生
    的頭像 發(fā)表于 10-22 17:00 ?243次閱讀
    泰克信號(hào)發(fā)生<b class='flag-5'>器</b><b class='flag-5'>脈沖模式</b>應(yīng)用

    定時(shí)器的基本組成和工作模式

    定時(shí)器是計(jì)算機(jī)或電子設(shè)備中常見的個(gè)硬件或軟件組件,其主要功能是測(cè)量和控制時(shí)間的流逝。它在各種應(yīng)用中起著至關(guān)重要的作用,如操作系統(tǒng)調(diào)度、多媒體播放、網(wǎng)絡(luò)通信、工業(yè)自動(dòng)化控制以及家電設(shè)備的定時(shí)
    的頭像 發(fā)表于 08-19 18:28 ?1597次閱讀

    STM32F407同一個(gè)定時(shí)器的兩個(gè)通道產(chǎn)生的PWM脈沖不對(duì)是哪里出了問題?

    STM32F407VE ,使用定時(shí)器1同時(shí)產(chǎn)生兩路PWM波 兩路PWM產(chǎn)生的脈沖數(shù)不樣時(shí),實(shí)際產(chǎn)生的脈沖不對(duì),會(huì)少1
    發(fā)表于 07-26 07:57

    定時(shí)器的工作方式介紹

    或?qū)崿F(xiàn)周期性事件的硬件模塊。它可以用于實(shí)現(xiàn)各種定時(shí)任務(wù),如定時(shí)中斷、PWM(脈沖寬度調(diào)制)輸出、頻率測(cè)量等。定時(shí)器通常由
    的頭像 發(fā)表于 07-12 10:29 ?1098次閱讀

    鴻蒙開發(fā)系統(tǒng)基礎(chǔ)能力:Timer定時(shí)器

    設(shè)置個(gè)定時(shí)器,該定時(shí)器定時(shí)器到期后執(zhí)行個(gè)函數(shù)。
    的頭像 發(fā)表于 06-28 11:33 ?1065次閱讀
    鴻蒙開發(fā)系統(tǒng)基礎(chǔ)能力:Timer<b class='flag-5'>定時(shí)器</b>

    stm32個(gè)定時(shí)器可以同時(shí)計(jì)算兩個(gè)光柵編碼嗎?

    由于手上只有個(gè)c8t6,想做平衡車,這樣的話兩個(gè)編碼要兩個(gè)定時(shí)器來計(jì)數(shù),然后我在
    發(fā)表于 05-07 06:40

    如何實(shí)現(xiàn)個(gè)軟件定時(shí)器

    在Linux,uC/OS,F(xiàn)reeRTOS等操作系統(tǒng)中,都帶有軟件定時(shí)器,原理大同小異。典型的實(shí)現(xiàn)方法是:通過個(gè)硬件定時(shí)器產(chǎn)生固定的時(shí)鐘節(jié)拍,每次硬件
    的頭像 發(fā)表于 04-29 11:00 ?730次閱讀

    TIM_PWM+DMA輸出三個(gè)不同占空比的單脈沖,為什么第三個(gè)數(shù)據(jù)總是第一個(gè)輸出?

    使用TIM_PWM + DMA,DMA傳輸長(zhǎng)度為3,即順序輸出3個(gè)不同占空比的單脈沖(10%,20%,50%),三個(gè)脈沖輸出完成后進(jìn)入DMA傳輸完成中斷,關(guān)閉
    發(fā)表于 04-03 07:23

    關(guān)于RM0016單脈沖模式設(shè)置的問題求解

    在RM0016文檔177頁,以下是不是多余: Map IC2 on TI2 by writing CC2S = 01 in the TIM1_CCMR2 register。這是輸入捕獲功能(對(duì)于單脈沖模式不需要捕獲輸入信號(hào)TI2),如果不是多余這個(gè)設(shè)置有什么用?
    發(fā)表于 03-14 07:59

    stm32主從定時(shí)器門控模式,怎么控制在不產(chǎn)生PWM時(shí)從定時(shí)器cnt不要計(jì)數(shù)?

    stm32主從定時(shí)器,采用門控模式,主定時(shí)器單脈沖模式控制輸出。但是我在實(shí)驗(yàn)的時(shí)候發(fā)現(xiàn)其從定時(shí)器
    發(fā)表于 03-12 07:08

    使用555定時(shí)器的可調(diào)雙定時(shí)器電路

    定時(shí)器 IC 555 是最通用和最常用的 IC 之,因?yàn)樗膽?yīng)用范圍更廣,如 PWM放大器、延遲定時(shí)器、開關(guān)電路、占空比選擇、時(shí)鐘脈沖發(fā)生器
    的頭像 發(fā)表于 02-25 15:16 ?2390次閱讀
    使用555<b class='flag-5'>定時(shí)器</b>的可調(diào)雙<b class='flag-5'>定時(shí)器</b>電路

    什么是單脈沖點(diǎn)焊和雙脈沖點(diǎn)焊?

    用于連接兩塊相同或不同金屬材料。它的工作原理是通過將電流通過兩個(gè)接觸電極的接觸面,從而形成局部高溫區(qū)域,使得金屬表面瞬間熔化并形成焊接接頭。單脈沖點(diǎn)焊般包括以下幾個(gè)步驟: 1. 預(yù)壓:在焊接接頭處施加
    的頭像 發(fā)表于 02-18 09:29 ?5076次閱讀

    使用555定時(shí)器的報(bào)警電路圖

    555定時(shí)器種集成電路芯片,常被用于定時(shí)器脈沖產(chǎn)生和振蕩電路。555可被作為電路中的延時(shí)器件、觸發(fā)
    的頭像 發(fā)表于 02-02 11:14 ?5822次閱讀
    使用555<b class='flag-5'>定時(shí)器</b>的報(bào)警<b class='flag-5'>器</b>電路圖
    主站蜘蛛池模板: 国产精品美女一级在线观看 | 免费观看色视频 | 国产精品资源网站在线观看 | 欧美一区二区三区不卡免费观看 | 久久精品美女久久 | 激情五月婷婷色 | 久久作爱视频 | 五月.com| 国产高清成人mv在线观看 | 色多多www视频在线观看免费 | 射菊吧 | 婷婷五月在线视频 | 男女爱爱免费视频 | 性欧美xxxx视频 | 5151四虎永久在线精品免费 | 亚洲福利一区福利三区 | 插综合网| 婷婷 色天使 | 日本色网址 | 男女一区二区三区免费 | 午夜视频在线观看免费观看在线观看 | 四虎1515hh永久久免费 | 狠狠干天天射 | 两性色午夜视频免费网 | 操美女大逼逼 | 性欧美视频videos6一9 | 热99精品 | 亚洲成色999久久网站 | 丁香视频在线观看播放 | 国产精品福利视频手机免费观看 | 日韩精品视频免费在线观看 | 91婷婷色涩涩 | 国产亚洲卡二卡3卡4卡乱码 | 国产亚洲视频在线播放大全 | 欧美成人黄色 | 91在线视频免费 | 亚洲va国产日韩欧美精品色婷婷 | 四虎国产精品永久在线网址 | 国产精品高清一区二区三区 | 黄色大片视频在线观看 | 我色综合 |