色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

遠程修改STM32 TIMER占空比的方案

茶話MCU ? 來源:茶話MCU ? 作者:茶話MCU ? 2022-09-30 09:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

現在有人有這樣一個需求,他使用STM32F429芯片做開發,其中用到32位的TIM2實現3路PWM輸出。

另外有上位機跟STM32的UART接口相連,上位機可能不定期地需要通過UART接口給STM32發送新的占空比參數,而且每次都發送3個比較輸出通道的參數【12個字節】。

如何快捷地實現這個功能呢?要求收到數據后盡快修改3個比較通道的參數。

e850fd1c-3ffb-11ed-b1c7-dac502259ad0.png

前一篇重點介紹了利用DMAFIFO和UART接收事件觸發DMA傳輸實現了3個CCR寄存器的批量修改。

我們不妨就該話題稍作拓展,不再局限于某個STM32系列,而是從整個STM32的資源上考慮當前需求。上次提到3種實現方案,我想借此機會再給大家介紹另外一種實現方案,以拓寬未來解決類似問題的思路。

STM32 家族里有些系列是內置DMAMUX模塊的,即DMA路由器,利用DMAMUX可以實現DMA請求與DMA傳輸通道的靈活配置;可以將一些通常不能直接產生DMA請求的事件通過它后而可以產生DMA請求;或者基于部分DMA完成事件產生新的DMA請求發起新的傳輸。目前,STM32家族中內置DMAMUX模塊的系列有下面這些:

e8be6a0a-3ffb-11ed-b1c7-dac502259ad0.png

那么 我這里就利用DMAMUX的其中一個特性,即通過它可以讓部分DMA完成事件產生新的DMA請求從而發起新的DMA傳輸。具體到這里,我們讓UART 的DMA接收完成事件映射到DMAMUX的DMA generator,再申請新的DMA請求,讓DMA將UART 接收到的數據從內存搬運到定時器的3個CCR寄存器,形成一個級聯模式。大致流程是:

上位機數據 經UARTRX+DMA 接收到內存, 然后DMA 接收完成事件 經DMAMUX申請的新的DMA請求和 DMA通道,再將內存數據寫到定時器的3個比較寄存器控制占空比。

下面我使用STM32G4系列芯片重點演示下實現過程,配置是關鍵。至于原理細節還請閱讀相關手冊。

我還是用UART1自發自收來模擬上位機發送新的CCR數據。

TIM2使用3個通道做PWM輸出,使用CubeMx工具的參考配置如下:

e8fe104c-3ffb-11ed-b1c7-dac502259ad0.png

我同樣開啟USART1的TX/RX事件的DMA傳輸功能。參考配置如下【注意UART RX DMA的配置與前一篇的差別】:

e9191c3e-3ffb-11ed-b1c7-dac502259ad0.png

e9b1e400-3ffb-11ed-b1c7-dac502259ad0.png

注意上圖中的事件使能及DMA請求配置。接著看看下面關于DMA generator的相關配置:

e9e4260e-3ffb-11ed-b1c7-dac502259ad0.png

請關注上圖中所有配置。其中,DMAMUX生成的DMA請求由DMA2_CH2響應,工作在Circular模式。

我依然使用32位TxData【3】數組存放待傳輸的3個CCR值,用RxData[3]存放接收的數據。使用CubeMx配置完成后,添加相關用戶代碼。【基于HAL庫組織代碼】

ea04b9be-3ffb-11ed-b1c7-dac502259ad0.png

我在UARTDMA接收完成中斷的回調函數里對接收到新數據事件做標志更新。

ea912034-3ffb-11ed-b1c7-dac502259ad0.png

為了便于演示,我依然在主程序里循環模擬遠程命令,動態修改CCR寄存器的值。參考代碼如下截圖:

eab43a92-3ffb-11ed-b1c7-dac502259ad0.png

稍作調試我們就可以查看輸出結果【借助斷點實時查看內存和寄存器的數據】:

eb8415aa-3ffb-11ed-b1c7-dac502259ad0.png

ebb9100c-3ffb-11ed-b1c7-dac502259ad0.png

從上面貼圖不難看出,從UART的發送數據、接收到的內存數據、寄存器的數據都在保持同步更新。

在上面演示過程中,我是將DMAMUX生成的新DMA請求申請的 DMA通道配置為Circular模式來著手測試的,如果配置為Normal模式也應該是可以的,只是需將Generator生成的新的DMA配置以及用戶代碼稍微做些調整,有興趣的話可以自行測試驗證。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2293

    文章

    11031

    瀏覽量

    364274
  • 占空比
    +關注

    關注

    0

    文章

    112

    瀏覽量

    29551
  • uart
    +關注

    關注

    22

    文章

    1275

    瀏覽量

    103792

原文標題:遠程修改STM32 TIMER占空比的方案續1

文章出處:【微信號:stmcu832,微信公眾號:茶話MCU】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STM32 TIMER+DMA輸出PWM異常案例的問題解析

    有人使用STM32U575的TIMER加上DMA做PWM輸出。具體就是利用某TIMER的一個通道的比較事件觸發DMA,通過DMA修改CCR值來實現指定
    的頭像 發表于 09-28 09:04 ?1w次閱讀
    <b class='flag-5'>STM32</b> <b class='flag-5'>TIMER</b>+DMA輸出PWM異常案例的問題解析

    利用TIMER測量信號周期及占空比的精度

    有人使用STM32G4系列的通用型TIMER基于捕獲功能對外來信號進行周期及占空比的測量。他用TIM3產生頻率、占空比可調的PWM輸出做為被測信號。TIM4用來進行頻率測量,工作在復位
    的頭像 發表于 02-25 10:11 ?2100次閱讀
    利用<b class='flag-5'>TIMER</b>測量信號周期及<b class='flag-5'>占空比</b>的精度

    STM32F103 timer8配置PWM輸出中間出現無法輸出PWM現象

    我使用STM32F103中的timer8作為PWM的定時器,來驅動電機的控制橋,發現有的時候修改占空比后,配置的IO口無法輸出PWM波形,并且使用keil調試是程序上面沒有問題。同時我
    發表于 05-03 16:15

    教你一手 基于STM32Cube庫的Timer捕獲應用

    STMCU官網更新了一則實戰經驗文件,重點介紹利用STM32CubeMx初始化配置工具和STM32Cube庫如何通過TIMER的捕獲功能完成對頻率、占空比的測試,同時我們對如何解決實
    發表于 06-25 15:05

    CC2530 Timer3 P1_3做為PWM輸出,可以修改輸出頻率,無法修改占空比,請問怎么辦?

    CC2530 Timer3 P1_3做為PWM輸出,可以修改輸出頻率,無法修改占空比
    發表于 08-13 08:26

    如何才能找到STM32F4 tim2修改占空比和頻率的函數?

    如何才能找到STM32F4 tim2修改占空比和頻率的函數?
    發表于 11-15 07:29

    請問STM32輸出比較模式如何同時修改占空比和相位?

    STM32輸出比較模式如何同時修改占空比和相位?
    發表于 10-15 11:29

    stm32捕獲占空比_基于STM32超聲波避障小車

    stm32捕獲占空比_基于STM32超聲波避障小車
    發表于 11-22 19:21 ?46次下載
    <b class='flag-5'>stm32</b>捕獲<b class='flag-5'>占空比</b>_基于<b class='flag-5'>STM32</b>超聲波避障小車

    stm32捕獲占空比_基于STM32超聲波避障小車

    stm32捕獲占空比_基于STM32超聲波避障小車
    發表于 11-23 16:21 ?57次下載
    <b class='flag-5'>stm32</b>捕獲<b class='flag-5'>占空比</b>_基于<b class='flag-5'>STM32</b>超聲波避障小車

    STM32產生固定頻率和占空比可變的PWM

    STM32產生PWM在筆者的上一個博客《STM32F103C8T6編寫簡單的程序并燒錄到板卡上》中,簡單介紹了如何產生一個PWM波,但讀者可能對設置PWM過程中修改的參數不是很理解。本篇博客將重點
    發表于 12-01 13:36 ?72次下載
    <b class='flag-5'>STM32</b>產生固定頻率和<b class='flag-5'>占空比</b>可變的PWM

    stm32捕獲占空比_「話說定時器系列」之六:STM32定時器輸入捕獲話題

    STM32定時器是 ST MCU 內部最基礎且常用的外設,實際應用尤為普遍。去年,電堂推出了《STM32 TIMER基礎及常規應用介紹》,為大家梳理了 STM32
    發表于 12-27 19:02 ?8次下載
    <b class='flag-5'>stm32</b>捕獲<b class='flag-5'>占空比</b>_「話說定時器系列」之六:<b class='flag-5'>STM32</b>定時器輸入捕獲話題

    通過STM32 UART及DMA修改TIMER占空比示例

    新的占空比參數,而且每次都發送3個輸出通道的比較參數。如何快捷地實現這個功能呢?要求收到數據后盡快修改3個比較通道的參數。
    的頭像 發表于 11-12 15:33 ?3217次閱讀

    如何遠程調試修改PLC

    PLC在現場,客戶拉一條能通網的網線,遠程就可以調試修改PLC。
    的頭像 發表于 07-05 10:12 ?4964次閱讀
    如何<b class='flag-5'>遠程</b>調試<b class='flag-5'>修改</b>PLC

    STM32L4定時器(TIMER)介紹

    電子發燒友網站提供《STM32L4定時器(TIMER)介紹.pdf》資料免費下載
    發表于 08-01 14:24 ?0次下載
    <b class='flag-5'>STM32</b>L4定時器(<b class='flag-5'>TIMER</b>)介紹

    STM32G4 Advanced Timer Break功能詳解

    電子發燒友網站提供《STM32G4 Advanced Timer Break功能詳解.pdf》資料免費下載
    發表于 09-19 15:09 ?3次下載
    <b class='flag-5'>STM32</b>G4 Advanced <b class='flag-5'>Timer</b> Break功能詳解
    主站蜘蛛池模板: 乱辈通奷XXXXXHD猛交 | 午夜福利在线观看6080 | 国产传媒18精品A片在线观看 | 男女一边摸一边做羞羞的事情免费 | 亚洲精品www久久久久久 | 内射白浆一区二区在线观看 | 在线视频一区二区三区在线播放 | 日韩熟女精品一区二区三区 | 亚洲一区二区三区免费看 | 俄罗斯美幼 | 日本毛片久久国产精品 | 九九久久精品 | 亚洲免费精品视频 | 吃寂寞寡妇的奶 | 欧洲最大无人区免费高清完整版 | 十九禁啊啪射视频在线观看 | 牛牛超碰 国产 | 狠狠色噜噜狠狠狠狠米奇777 | 无限资源日本2019版 | 最近日本MV字幕免费观看在线 | 黑人干亚洲人 | xxnx18日本| 好男人在线观看视频观看高清视频免费 | 性色AV一区二区三区V视界影院 | 免费看男人J放进女人J无遮掩 | 99亚洲精品自拍AV成人软件 | 印度最猛性ⅹxxxxx | 亚洲AV 日韩 国产 有码 | 寂寞夜晚免费观看视频 | 孕交videosgratis乌克兰 | 精品国产自在现线拍400部 | 甜性涩爱全集在线观看 | 91av电影在线观看 | a毛片基地免费全部视频 | 色人阁久久 | 大香伊蕉在人线国产最新 | 久久精品中文字幕 | 国产亚洲精品线观看不卡 | 成人国内精品久久久久影 | 95国产精品人妻无码久 | 国产乱码二卡3卡四卡 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品