DmaBaseAddress->ISR; uint32_t source_it = hdma-" />

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

歷史上的今天

今天是:2025年03月04日(星期二)

正在發生

2019年03月04日 | STM32 DMA發送完成標志位的查詢

發布者:悠然自在 來源: eefocus關鍵字:STM32  DMA  標志位 手機看文章 掃描二維碼
隨時隨地手機看文章


void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma)

{

uint32_t flag_it = hdma->DmaBaseAddress->ISR;

  uint32_t source_it = hdma->Instance->CCR;

 

  /* Half Transfer Complete Interrupt management ******************************/

  if ((RESET != (flag_it & (DMA_FLAG_HT1 << hdma->ChannelIndex))) && (RESET != (source_it & DMA_IT_HT)))

  {

  /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */

  if((hdma->Instance->CCR & DMA_CCR_CIRC) == 0U)

  {

  /* Disable the half transfer interrupt */

  hdma->Instance->CCR &= ~DMA_IT_HT;

  }

 

  /* Clear the half transfer complete flag */

  hdma->DmaBaseAddress->IFCR = DMA_FLAG_HT1 << hdma->ChannelIndex;

 

  /* DMA peripheral state is not updated in Half Transfer */

  /* State is updated only in Transfer Complete case */

 

  if(hdma->XferHalfCpltCallback != NULL)

  {

  /* Half transfer callback */

  hdma->XferHalfCpltCallback(hdma);

  }

  }

 

  /* Transfer Complete Interrupt management ***********************************/

  else if ((RESET != (flag_it & (DMA_FLAG_TC1 << hdma->ChannelIndex))) && (RESET != (source_it & DMA_IT_TC)))

  {

  if((hdma->Instance->CCR & DMA_CCR_CIRC) == 0U)

  {

  /* Disable the transfer complete  & transfer error interrupts */

  /* if the DMA mode is not CIRCULAR */

  hdma->Instance->CCR &= ~(DMA_IT_TC | DMA_IT_TE);

 

  /* Change the DMA state */

  hdma->State = HAL_DMA_STATE_READY;

  }

 

  /* Clear the transfer complete flag */

  hdma->DmaBaseAddress->IFCR = DMA_FLAG_TC1 << hdma->ChannelIndex;

 

  /* Process Unlocked */

  __HAL_UNLOCK(hdma);

 

  if(hdma->XferCpltCallback != NULL)

  {

  /* Transfer complete callback */

  hdma->XferCpltCallback(hdma);

  if (hdma == huart2.hdmatx)

      {

            dma_finish_flag = 1;

  }

  }

  }

 

  /* Transfer Error Interrupt management ***************************************/

  else if (( RESET != (flag_it & (DMA_FLAG_TE1 << hdma->ChannelIndex))) && (RESET != (source_it & DMA_IT_TE)))

  {

  /* When a DMA transfer error occurs */

    /* A hardware clear of its EN bits is performed */

    /* Then, disable all DMA interrupts */

    hdma->Instance->CCR &= ~(DMA_IT_TC | DMA_IT_HT | DMA_IT_TE);

 

    /* Clear all flags */

    hdma->DmaBaseAddress->IFCR = DMA_FLAG_GL1 << hdma->ChannelIndex;

 

    /* Update error code */

    hdma->ErrorCode = HAL_DMA_ERROR_TE;

 

    /* Change the DMA state */

    hdma->State = HAL_DMA_STATE_READY;

 

    /* Process Unlocked */

    __HAL_UNLOCK(hdma);

 

    if(hdma->XferErrorCallback != NULL)

    {

    /* Transfer error callback */

    hdma->XferErrorCallback(hdma);

    }

   }

}

關鍵字:STM32  DMA  標志位 引用地址:STM32 DMA發送完成標志位的查詢

上一篇:STM32 三路AD的使用方法
下一篇:MCU的I2S為slave時出現噪音的解決方案

推薦閱讀

德國紐倫堡(2018年嵌入式系統展會)–2018年2月27日–恩智浦半導體NXP Semiconductors N.V.(納斯達克代碼:NXPI)今日宣布推出i.MX RT跨界處理器組合的最新產品i.MX RT1060,從而將該產品線擴充至三個可擴展系列。新的處理器系列引入了針對實時應用而設計的新功能,如片內存儲器增加至1MB、支持高速GPIO、CAN-FD和支持同步并行接口的NAND/NOR /PSRA...
聊天機器人最初是為了以色列微軟公司實驗室的一項黑客馬拉松項目——讓病人更容易找到可能提供其他藥物和治療方法的臨床試驗。臨床試驗機器人可以讓患者和醫生搜索與疾病相關的研究,然后回答一系列文本問題。然后,機器人會建議最符合患者需求的試驗鏈接。制藥商也可以用它來尋找測試對象。微軟不會將機器人作為自己的產品發布。相反,微軟醫療保健以色列...
  溫度測量主要有兩種方式:一種是傳統的接觸式測量,另一種是以紅外測溫為代表的非接觸式測量。傳統的溫度測量不僅反應速度慢,而且必須與被測物體接觸。紅外測溫以紅外傳感器為核心進行非接觸式測量,特別適用于高溫和危險場合的非接觸測溫,得到了廣泛的應用。本文將詳細介紹如何設計基于SOC級微處理器的高精度紅外測溫系統,及其在電力溫度檢測、設...
有一個測量位置變化的位置傳感器,用萬用表電壓檔測量傳感器的輸出信號,結果顯示的是模擬量信號,即位置和信號輸出大小呈線性關系。但是,用示波器(Picoscope 4227)測量傳感器的輸出信號,顯示的卻是 PWM 信號(脈寬調制),即位置不同,輸出 PWM 信號的占空比不同。PWM 信號的參數是:200 Hz, 低電平為 0V,高電平為 18V。現在可以確定,我...

史海拾趣

問答坊 | AI 解惑

USB-232轉換(FT232BM)完整PCB文件和說明文件

以下文件版權所有,僅發上來大家共享,如有有用于商業目的,請自覺放棄使用。如果實在要作為商品出售,請告知我,謝謝! > 一塊USB-232的模塊,大小只有2.5cm*2.5cm,但可以應用于很多范圍。 > 特別適用于沒有串口的電腦,特別是筆記本電腦 ...…

查看全部問答∨

【Labview】推薦學習Labview的書

在對Labview有一個感性上的認識后,接下去我們可以選一本適合自己的書。       本人剛入門的時候,看的是Labview 8.2程序設計從入門到精通,讓我對labview很快有一個理性上的認識。雖然當時用的是Labview 8.5 ,而后使用Labvie ...…

查看全部問答∨

轉精華[一個500多點工程,從設計到完工(圖)]

看看設計和現實之間的差距,用的是TCL-羅格朗的產品,FLUKE4000測試,100%通過,余量很好; 機柜 機房 網路 [localimg=600,800]7[/localimg]…

查看全部問答∨

請教幾個與TD通信相關的術語

VT&CSD 是什么業務,做什么功能?     (這個不知道) Modem(PS1) 是什么業務,做什么功能?(這個我大概了解是上網功能) MMS(PS2) 是什么業務,做什么功能?     (這個是彩信) PS3   & ...…

查看全部問答∨

新手求助PB5 X86平臺模擬器問題

    剛剛開始了wince的生涯,打算現在PB5上跑個模擬器玩玩,本以為配置很簡單,但又一次被玩得暈頭轉向,問題現象如下 …

查看全部問答∨

WINCE下音頻文件的頻譜顯示畫柱狀圖有沒好辦法?我的會閃爍啊!

WINCE下音頻文件的頻譜顯示畫柱狀圖有沒好辦法?我的會閃爍啊!…

查看全部問答∨

如何用方向鍵來控制鼠標移動,我做了一個,按方向鍵后鼠標位置是移動了,但是鼠標一動又回到原來位置,為什么啊?

如何用方向鍵來控制鼠標移動,我做了一個,按方向鍵后鼠標位置是移動了,但是鼠標一動又回到原來位置,為什么啊? ZafPositionStruct pos; ZafMouse* mouse; ZafPositionStruct pos; mouse = (ZafMouse*)EventManager()->GetObject(ID_ZAF ...…

查看全部問答∨

關于S3C2410和GPRS模塊的疑問

現在使用的是北京奧爾斯公司提供的嵌入式系統開發實驗箱,芯片是S3C2410RP,GPRS模塊是西門子的。現在正在做GPRS實驗 目前最大的問題是根據實驗手冊和相關代碼,串口與電腦相連,通過超級終端發送AT命令,并設置了回顯的選項,但依舊沒有任何信息 ...…

查看全部問答∨

小弟的畢業設計啊!大家幫幫忙啊!

我的畢業設計的題目是基于單片機的plc數字量擴展,型號暫時定為西門子的S7-226,單片機為AT89C51,不知道從哪里入手啊!請大家幫幫忙啊! 我的郵箱275105908@qq.com或者adam-han@163.com…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 壤塘县| 奉化市| 黄浦区| 广州市| 山东| 尼勒克县| 中宁县| 溧水县| 贵定县| 阳泉市| 普陀区| 偏关县| 平泉县| 铁岭县| 上思县| 遵义县| 开远市| 沙湾县| 城步| 油尖旺区| 收藏| 灵台县| 宕昌县| 万州区| 巫溪县| 桂阳县| 清丰县| 绥棱县| 穆棱市| 通许县| 古浪县| 太谷县| 工布江达县| 澄江县| 五家渠市| 江口县| 永昌县| 广饶县| 佛学| 桦川县| 五莲县|