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

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

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

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

定時器DMA Burst傳輸代碼

麥辣雞腿堡 ? 來源:茶話MCU ? 作者:茶話MCU ? 2023-06-21 16:23 ? 次閱讀

下面是參考用戶代碼。代碼在手機模式下可左右滑動。

/* USER CODE BEGIN PD */
#define ARR1 (10000U)
#define ARR2 (20000U)
#define ARR3 (40000U)
#define Count (18)      //3 * 6


uint16_t PulseData1[]={
 ARR1,0,ARR1*0.5,
 ARR1,0,ARR1*0.5,
 ARR1,0,ARR1*0.5,
 ARR1,0,ARR1*0.5,
 ARR1,0,ARR1*0.5,//
 ARR1,0,0};




uint16_t PulseData2[]={
ARR2,0,ARR2*0.5,
ARR2,0,ARR2*0.5,
ARR2,0,ARR2*0.5,
ARR2,0,ARR2*0.5,
ARR2,0,ARR2*0.5,//
ARR2,0,0,
};


uint16_t PulseData3[]={
ARR3,0,ARR3*0.5,
ARR3,0,ARR3*0.5,
ARR3,0,ARR3*0.5,
ARR3,0,ARR3*0.5,
ARR3,0,ARR3*0.5,//5
ARR3,0,0,
};


/* USER CODE END PD */

主循環(huán)測試代碼如下:

int main(void)
{
/* USER CODE BEGIN 1 */


/* USER CODE END 1 */


/* MCU Configuration--------------------------------------------------------*/


/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();


/* USER CODE BEGIN Init */


/* USER CODE END Init */


/* Configure the system clock */
  SystemClock_Config();


/* USER CODE BEGIN SysInit */


/* USER CODE END SysInit */


/* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_DMA_Init();
  MX_TIM3_Init();
/* USER CODE BEGIN 2 */
    __HAL_TIM_CLEAR_FLAG(&htim3,TIM_FLAG_UPDATE);
  TIM_CCxChannelCmd(TIM3,TIM_CHANNEL_1,TIM_CCx_ENABLE);
/* USER CODE END 2 */


/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
  {
/* USER CODE END WHILE */


/* USER CODE BEGIN 3 */
       htim3.DMABurstState = HAL_DMA_BURST_STATE_READY;
       hdma_tim3_up.State = HAL_DMA_STATE_READY ;


       __HAL_TIM_CLEAR_FLAG(&htim3,TIM_FLAG_UPDATE);


      HAL_TIM_DMABurst_MultiWriteStart(&htim3, TIM_DMABASE_ARR,TIM_DMA_UPDATE,(uint32_t *)PulseData1,\\
                                       TIM_DMABURSTLENGTH_3TRANSFERS,Count);
      TIM3- >EGR = TIM_EGR_UG;
      __HAL_TIM_ENABLE(&htim3);


      HAL_Delay(150);  //Prepared for the next 5 Pulses
      __HAL_TIM_DISABLE(&htim3);
//  HAL_DMA_Abort(&hdma_tim3_up);


      htim3.DMABurstState = HAL_DMA_BURST_STATE_READY;
      hdma_tim3_up.State = HAL_DMA_STATE_READY ;


      __HAL_TIM_CLEAR_FLAG(&htim3,TIM_FLAG_UPDATE);


       HAL_TIM_DMABurst_MultiWriteStart(&htim3, TIM_DMABASE_ARR,TIM_DMA_UPDATE,(uint32_t *)PulseData2,\\
                                        TIM_DMABURSTLENGTH_3TRANSFERS,Count);
      TIM3- >EGR = TIM_EGR_UG;
      __HAL_TIM_ENABLE(&htim3);


      HAL_Delay(150);//Prepared for the next 5 Pulses
      __HAL_TIM_DISABLE(&htim3);
//   HAL_DMA_Abort(&hdma_tim3_up);


      htim3.DMABurstState = HAL_DMA_BURST_STATE_READY;
      hdma_tim3_up.State = HAL_DMA_STATE_READY ;


       __HAL_TIM_CLEAR_FLAG(&htim3,TIM_FLAG_UPDATE);


       HAL_TIM_DMABurst_MultiWriteStart(&htim3, TIM_DMABASE_ARR,TIM_DMA_UPDATE,(uint32_t *)PulseData3,
                                        TIM_DMABURSTLENGTH_3TRANSFERS,Count);
      TIM3- >EGR = TIM_EGR_UG;
      __HAL_TIM_ENABLE(&htim3);


      HAL_Delay(150);//Prepared for the next 5 Pulses
      __HAL_TIM_DISABLE(&htim3);
//   HAL_DMA_Abort(&hdma_tim3_up);


  }
/* USER CODE END 3 */
}

編譯、除錯后,運行程序可以看到我所期望的結(jié)果。即我每隔一會兒就發(fā)出5個脈沖,3次為1個循環(huán)。測試代碼都放在這里,供參考使用。這里不逐句解釋了,具體使用時結(jié)合庫代碼來研究即可。

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

    關(guān)注

    2274

    文章

    10930

    瀏覽量

    358127
  • 控制
    +關(guān)注

    關(guān)注

    4

    文章

    1017

    瀏覽量

    122812
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3257

    瀏覽量

    115556
收藏 人收藏

    評論

    相關(guān)推薦

    STM32通過DMA方式傳輸TIM3定時器計數(shù)值,數(shù)值重復(fù)是為什么?

    4.TIM1更新事件頻率 更新事件頻率由16khz改為10k/5k,或者重復(fù)計數(shù)由1改為2 結(jié)果反饋,TIM3計數(shù)數(shù)值重復(fù) 5.其他定時器計數(shù)值 DMA觸發(fā)方式為TIM1更新
    發(fā)表于 04-10 06:50

    STM32F103定時器觸發(fā)ADC+DMA傳輸 精選資料分享

    STM32F103定時器觸發(fā)ADC+DMA傳輸ADC除了軟件觸發(fā)方式之外還有外部觸發(fā)模式,我用TIM2定時器觸發(fā)ADC,并用DMA
    發(fā)表于 08-11 06:05

    TIMx“DMA Burst Feature”如何通過SPI觸發(fā)多個DMA請求?

    ,因為 SPI 外設(shè)最多支持 16 位傳輸。不過,我還沒有看到有人使用 Timer DMA-burst 功能。我想使用計時來觸發(fā) DMA/SPI
    發(fā)表于 02-07 08:23

    STM32F030的定時器PWM使用設(shè)置與ADC的dma代碼

    里面是STM32F030的定時器PWM使用設(shè)置與ADC的dma代碼
    發(fā)表于 03-21 15:29 ?152次下載

    基于定時器的電子鐘源代碼

    基于定時器的電子鐘(匯編語言)源代碼分享
    發(fā)表于 05-20 16:29 ?11次下載

    STM32定時器觸發(fā)DMA數(shù)據(jù)傳輸失敗的原因如何解決

    有人使用STM32的定時器事件觸發(fā)DMA,讓其將內(nèi)存數(shù)據(jù)傳輸到通信外設(shè)的數(shù)據(jù)寄存進行發(fā)送,發(fā)現(xiàn)DMA根本就不動作。
    的頭像 發(fā)表于 11-25 09:21 ?2.2w次閱讀
    STM32<b class='flag-5'>定時器</b>觸發(fā)<b class='flag-5'>DMA</b>數(shù)據(jù)<b class='flag-5'>傳輸</b>失敗的原因如何解決

    STM32定時器BURST傳輸介紹及示例

    這里有兩個專門用于定時器BURST傳輸的寄存,分別是TIM2_DCR和TIM2_DMAR. 其中TIM2_DCR就是用來配置從哪個定時器
    的頭像 發(fā)表于 05-14 09:15 ?1.2w次閱讀
    STM32<b class='flag-5'>定時器</b><b class='flag-5'>BURST</b><b class='flag-5'>傳輸</b>介紹及示例

    測試代碼中使用DMA傳輸,定時器觸發(fā)ADC

    現(xiàn)在共用到ADC1模塊的4個ADC通道,即1個片內(nèi)Vrefint通道和其它三個外部通道CH8,CH10,CH17。下面測試代碼中使用DMA傳輸,定時器觸發(fā)ADC.
    的頭像 發(fā)表于 08-10 16:22 ?4594次閱讀
    測試<b class='flag-5'>代碼</b>中使用<b class='flag-5'>DMA</b><b class='flag-5'>傳輸</b>,<b class='flag-5'>定時器</b>觸發(fā)ADC

    STM32CUBEMX配置教程(十三)STM32的定時器觸發(fā)的固定頻率DAC輸出(使用DMA

    STM32CUBEMX配置教程(十三)STM32的定時器觸發(fā)的固定頻率DAC輸出(使用DMA
    發(fā)表于 11-24 14:06 ?47次下載
    STM32CUBEMX配置教程(十三)STM32的<b class='flag-5'>定時器</b>觸發(fā)的固定頻率DAC輸出(使用<b class='flag-5'>DMA</b>)

    STM32F103定時器觸發(fā)ADC+DMA傳輸

    STM32F103定時器觸發(fā)ADC+DMA傳輸ADC除了軟件觸發(fā)方式之外還有外部觸發(fā)模式,我用TIM2定時器觸發(fā)ADC,并用DMA
    發(fā)表于 11-30 10:36 ?57次下載
    STM32F103<b class='flag-5'>定時器</b>觸發(fā)ADC+<b class='flag-5'>DMA</b><b class='flag-5'>傳輸</b>

    H743定時器觸發(fā)ADC轉(zhuǎn)換DMA傳輸之應(yīng)用

    學(xué)習(xí)安富萊的H743的定時器觸發(fā)ADC DMA傳輸源碼
    發(fā)表于 11-30 11:21 ?11次下載
    H743<b class='flag-5'>定時器</b>觸發(fā)ADC轉(zhuǎn)換<b class='flag-5'>DMA</b><b class='flag-5'>傳輸</b>之應(yīng)用

    stm32 定時器觸發(fā)ADC多通道采樣+DMA提取數(shù)據(jù)

    stm32g0 定時器觸發(fā)ADC多通道采樣+DMA提取數(shù)據(jù)stm32g0 定時器觸發(fā)ADC多通道采樣+DMA提取數(shù)據(jù)stm32g0 單片機對三相電流采樣,用
    發(fā)表于 12-16 16:56 ?68次下載
    stm32 <b class='flag-5'>定時器</b>觸發(fā)ADC多通道采樣+<b class='flag-5'>DMA</b>提取數(shù)據(jù)

    定時器DMA Burst傳輸無法實現(xiàn)

    有人使用STM32F4系列開發(fā)產(chǎn)品,程序運行過程中需要不時地對外輸出一串驅(qū)動脈沖,并要求這幾串脈沖的頻率可變、占空比固定。他想到使用基于STM32定時器DMA BURST傳輸。具體點
    的頭像 發(fā)表于 06-21 16:21 ?1150次閱讀
    <b class='flag-5'>定時器</b><b class='flag-5'>DMA</b> <b class='flag-5'>Burst</b><b class='flag-5'>傳輸</b>無法實現(xiàn)

    使用MM32F0270 定時器DMA方式輸出PWM

    使用MM32F0270 定時器DMA方式輸出PWM
    的頭像 發(fā)表于 10-17 14:47 ?988次閱讀
    使用MM32F0270 <b class='flag-5'>定時器</b><b class='flag-5'>DMA</b>方式輸出PWM

    運用 DMA 功能實現(xiàn)高級定時器和 ADC 的同步觸發(fā)采樣

    運用DMA功能實現(xiàn)高級定時器和ADC的同步觸發(fā)采樣在做BLDC電機控制時,需要ADC的采樣時刻和定時器產(chǎn)生的PWM波形相配合,才能獲取準確的采樣值,本文介紹了CW32F030系列芯片通過運用D
    發(fā)表于 06-06 13:35 ?31次下載
    主站蜘蛛池模板: 国产精品久久久久久久久齐齐 | 色老头成人免费综合视频 | 69日本xxxxxxxxx13 69日本xxxxxxxxx18 | 中国一级特黄真人毛片免费看 | 日本高清视频色wwwwww色 | 亚洲国产丝袜精品一区杨幂 | 国产小视频在线 | 精品一区二区视频 | 黄色视奸| 青草视频在线观看国产 | 成年黄网站免费大全毛片 | 黑人又大又粗又长又深受不了 | 国产手机在线 | 中文天堂在线最新版在线www | 欧美一区二区三区成人看不卡 | 国产色爽女小说免费看 | 5060午夜一级 | 噜噜噜 综合 亚洲 | 天天舔天天操 | 色在线免费 | 亚洲国内精品自在线影视 | 51精品视频免费国产专区 | 欧美黑粗特黄午夜大片 | 日韩一级免费毛片 | 一级aaaaa毛片免费视频 | 色欧美在线视频 | 男男gay高h文 | 国产乱理论片在线观看理论 | 免费大片看黄在观看 | 日韩免费观看的一级毛片 | 好爽好大www视频在线播放 | 最新久久精品 | 狠狠干狠狠操 | 狠狠五月婷婷 | 一级特黄特黄xxx视频 | 99热都是精品 | 亚洲一区二区三区免费看 | 国产成人亚洲日本精品 | 性久久久久久久 | 酒色网址 | 日产精品卡二卡三卡四卡乱码视频 |