亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? stm32l1xx_dma.c

?? STM32+Grlib
?? C
?? 第 1 頁 / 共 3 頁
字號:
  DMAy_Channelx->CNDTR = DMA_InitStruct->DMA_BufferSize;

/*--------------------------- DMAy Channelx CPAR Configuration ----------------*/
  /* Write to DMAy Channelx CPAR */
  DMAy_Channelx->CPAR = DMA_InitStruct->DMA_PeripheralBaseAddr;

/*--------------------------- DMAy Channelx CMAR Configuration ----------------*/
  /* Write to DMAy Channelx CMAR */
  DMAy_Channelx->CMAR = DMA_InitStruct->DMA_MemoryBaseAddr;
}

/**
  * @brief  Fills each DMA_InitStruct member with its default value.
  * @param  DMA_InitStruct: pointer to a DMA_InitTypeDef structure which will
  *         be initialized.
  * @retval None
  */
void DMA_StructInit(DMA_InitTypeDef* DMA_InitStruct)
{
/*-------------- Reset DMA init structure parameters values ------------------*/
  /* Initialize the DMA_PeripheralBaseAddr member */
  DMA_InitStruct->DMA_PeripheralBaseAddr = 0;
  /* Initialize the DMA_MemoryBaseAddr member */
  DMA_InitStruct->DMA_MemoryBaseAddr = 0;
  /* Initialize the DMA_DIR member */
  DMA_InitStruct->DMA_DIR = DMA_DIR_PeripheralSRC;
  /* Initialize the DMA_BufferSize member */
  DMA_InitStruct->DMA_BufferSize = 0;
  /* Initialize the DMA_PeripheralInc member */
  DMA_InitStruct->DMA_PeripheralInc = DMA_PeripheralInc_Disable;
  /* Initialize the DMA_MemoryInc member */
  DMA_InitStruct->DMA_MemoryInc = DMA_MemoryInc_Disable;
  /* Initialize the DMA_PeripheralDataSize member */
  DMA_InitStruct->DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;
  /* Initialize the DMA_MemoryDataSize member */
  DMA_InitStruct->DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;
  /* Initialize the DMA_Mode member */
  DMA_InitStruct->DMA_Mode = DMA_Mode_Normal;
  /* Initialize the DMA_Priority member */
  DMA_InitStruct->DMA_Priority = DMA_Priority_Low;
  /* Initialize the DMA_M2M member */
  DMA_InitStruct->DMA_M2M = DMA_M2M_Disable;
}

/**
  * @brief  Enables or disables the specified DMAy Channelx.
  * @param  DMAy_Channelx: where y can be 1 to select the DMA and
  *         x can be 1 to 7 for DMA1 to select the DMA Channel.
  * @param  NewState: new state of the DMAy Channelx. 
  *         This parameter can be: ENABLE or DISABLE.
  * @retval None
  */
void DMA_Cmd(DMA_Channel_TypeDef* DMAy_Channelx, FunctionalState NewState)
{
  /* Check the parameters */
  assert_param(IS_DMA_ALL_PERIPH(DMAy_Channelx));
  assert_param(IS_FUNCTIONAL_STATE(NewState));

  if (NewState != DISABLE)
  {
    /* Enable the selected DMAy Channelx */
    DMAy_Channelx->CCR |= DMA_CCR1_EN;
  }
  else
  {
    /* Disable the selected DMAy Channelx */
    DMAy_Channelx->CCR &= (uint16_t)(~DMA_CCR1_EN);
  }
}

/**
  * @}
  */

/** @defgroup DMA_Group2 Data Counter functions
 *  @brief   Data Counter functions 
 *
@verbatim   
 ===============================================================================
                           Data Counter functions
 ===============================================================================  

  This subsection provides function allowing to configure and read the buffer size
  (number of data to be transferred). 

  The DMA data counter can be written only when the DMA channel is disabled 
  (ie. after transfer complete event).

  The following function can be used to write the Channel data counter value:
    - void DMA_SetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx, uint16_t DataNumber);

@note It is advised to use this function rather than DMA_Init() in situations where
      only the Data buffer needs to be reloaded.

  The DMA data counter can be read to indicate the number of remaining transfers for
  the relative DMA channel. This counter is decremented at the end of each data 
  transfer and when the transfer is complete: 
   - If Normal mode is selected: the counter is set to 0.
   - If Circular mode is selected: the counter is reloaded with the initial value
     (configured before enabling the DMA channel)
   
  The following function can be used to read the Channel data counter value:
     - uint16_t DMA_GetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx);

@endverbatim
  * @{
  */

/**
  * @brief  Sets the number of data units in the current DMAy Channelx transfer.
  * @param  DMAy_Channelx: where y can be 1 to select the DMA and
  *         x can be 1 to 7 for DMA1 to select the DMA Channel.
  * @param  DataNumber: The number of data units in the current DMAy Channelx
  *         transfer.   
  * @note   This function can only be used when the DMAy_Channelx is disabled.                 
  * @retval None.
  */
void DMA_SetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx, uint16_t DataNumber)
{
  /* Check the parameters */
  assert_param(IS_DMA_ALL_PERIPH(DMAy_Channelx));
  
/*--------------------------- DMAy Channelx CNDTR Configuration ---------------*/
  /* Write to DMAy Channelx CNDTR */
  DMAy_Channelx->CNDTR = DataNumber;  
}

/**
  * @brief  Returns the number of remaining data units in the current
  *         DMAy Channelx transfer.
  * @param  DMAy_Channelx: where y can be 1 to select the DMA and
  *         x can be 1 to 7 for DMA1 to select the DMA Channel.
  * @retval The number of remaining data units in the current DMAy Channelx
  *         transfer.
  */
uint16_t DMA_GetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx)
{
  /* Check the parameters */
  assert_param(IS_DMA_ALL_PERIPH(DMAy_Channelx));
  /* Return the number of remaining data units for DMAy Channelx */
  return ((uint16_t)(DMAy_Channelx->CNDTR));
}

/**
  * @}
  */

/** @defgroup DMA_Group3 Interrupts and flags management functions
 *  @brief   Interrupts and flags management functions 
 *
@verbatim   
 ===============================================================================
                  Interrupts and flags management functions
 ===============================================================================  

  This subsection provides functions allowing to configure the DMA Interrupts 
  sources and check or clear the flags or pending bits status.
  The user should identify which mode will be used in his application to manage the
  DMA controller events: Polling mode or Interrupt mode. 
    
  Polling Mode
  =============
    Each DMA channel can be managed through 4 event Flags:
    (y : DMA Controller number  
     x : DMA channel number )
       1. DMAy_FLAG_TCx : to indicate that a Transfer Complete event occurred
       2. DMAy_FLAG_HTx : to indicate that a Half-Transfer Complete event occured
       3. DMAy_FLAG_TEx : to indicate that a Transfer Error occured.
       4. DMAy_FLAG_GLx : to indicate that at least one of the events described 
          above occured.             

@note Clearing DMAy_FLAG_GLx results in clearing all other pending flags of the 
      same channel (DMAy_FLAG_TCx, DMAy_FLAG_HTx and DMAy_FLAG_TEx).

   In this Mode it is advised to use the following functions:
      - FlagStatus DMA_GetFlagStatus(uint32_t DMA_FLAG);
      - void DMA_ClearFlag(uint32_t DMA_FLAG);

  Interrupt Mode
  ===============
    Each DMA channel can be managed through 4 Interrupts:

    Interrupt Source
    ----------------
       1. DMA_IT_TC: specifies the interrupt source for the Transfer Complete event.  
       2. DMA_IT_HT : specifies the interrupt source for the Half-transfer Complete event.
       3. DMA_IT_TE : specifies the interrupt source for the transfer errors event.
       4. DMA_IT_GL : to indicate that at least one of the interrupts described 
          above occurred. 

@note Clearing DMA_IT_GL interrupt results in clearing all other interrupts of the 
      same channel (DMA_IT_TCx, DMA_IT_HT and DMA_IT_TE).
     
  In this Mode it is advised to use the following functions:
     - void DMA_ITConfig(DMA_Channel_TypeDef* DMAy_Channelx, uint32_t DMA_IT, FunctionalState NewState);
     - ITStatus DMA_GetITStatus(uint32_t DMA_IT);
     - void DMA_ClearITPendingBit(uint32_t DMA_IT);

@endverbatim
  * @{
  */

/**
  * @brief  Enables or disables the specified DMAy Channelx interrupts.
  * @param  DMAy_Channelx: where y can be 1 to select the DMA and
  *         x can be 1 to 7 for DMA1 to select the DMA Channel.
  * @param  DMA_IT: specifies the DMA interrupts sources to be enabled
  *         or disabled. 
  *   This parameter can be any combination of the following values:
  *     @arg DMA_IT_TC: Transfer complete interrupt mask
  *     @arg DMA_IT_HT: Half transfer interrupt mask
  *     @arg DMA_IT_TE: Transfer error interrupt mask
  * @param  NewState: new state of the specified DMA interrupts.
  *         This parameter can be: ENABLE or DISABLE.
  * @retval None
  */
void DMA_ITConfig(DMA_Channel_TypeDef* DMAy_Channelx, uint32_t DMA_IT, FunctionalState NewState)
{
  /* Check the parameters */
  assert_param(IS_DMA_ALL_PERIPH(DMAy_Channelx));
  assert_param(IS_DMA_CONFIG_IT(DMA_IT));
  assert_param(IS_FUNCTIONAL_STATE(NewState));

  if (NewState != DISABLE)
  {
    /* Enable the selected DMA interrupts */
    DMAy_Channelx->CCR |= DMA_IT;
  }
  else
  {
    /* Disable the selected DMA interrupts */
    DMAy_Channelx->CCR &= ~DMA_IT;
  }
}

/**
  * @brief  Checks whether the specified DMAy Channelx flag is set or not.
  * @param  DMA_FLAG: specifies the flag to check.
  *   This parameter can be one of the following values:
  *     @arg DMA1_FLAG_GL1: DMA1 Channel1 global flag.
  *     @arg DMA1_FLAG_TC1: DMA1 Channel1 transfer complete flag.
  *     @arg DMA1_FLAG_HT1: DMA1 Channel1 half transfer flag.
  *     @arg DMA1_FLAG_TE1: DMA1 Channel1 transfer error flag.
  *     @arg DMA1_FLAG_GL2: DMA1 Channel2 global flag.
  *     @arg DMA1_FLAG_TC2: DMA1 Channel2 transfer complete flag.
  *     @arg DMA1_FLAG_HT2: DMA1 Channel2 half transfer flag.
  *     @arg DMA1_FLAG_TE2: DMA1 Channel2 transfer error flag.
  *     @arg DMA1_FLAG_GL3: DMA1 Channel3 global flag.
  *     @arg DMA1_FLAG_TC3: DMA1 Channel3 transfer complete flag.
  *     @arg DMA1_FLAG_HT3: DMA1 Channel3 half transfer flag.
  *     @arg DMA1_FLAG_TE3: DMA1 Channel3 transfer error flag.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费观看在线色综合| 色乱码一区二区三区88 | 欧洲国产伦久久久久久久| 福利电影一区二区三区| 国产精品资源网站| 国产制服丝袜一区| 国产乱码精品一区二区三区av| 日本不卡视频在线| 蜜臂av日日欢夜夜爽一区| 奇米一区二区三区| 久久99热99| 久久精品国产色蜜蜜麻豆| 蜜桃视频第一区免费观看| 精品一区二区久久久| 韩国精品一区二区| 国产99久久久国产精品潘金网站| 国产精品伊人色| 成人自拍视频在线| 成人app网站| 91免费看`日韩一区二区| 日本丶国产丶欧美色综合| 欧美在线啊v一区| 欧美夫妻性生活| 精品动漫一区二区三区在线观看| 2021久久国产精品不只是精品| 国产亚洲精品免费| 1024精品合集| 天堂一区二区在线| 老司机精品视频在线| 国产一本一道久久香蕉| av在线播放一区二区三区| 在线精品视频一区二区三四| 欧美久久一区二区| xfplay精品久久| 最近日韩中文字幕| 五月激情综合婷婷| 国内精品伊人久久久久av一坑| 国产高清亚洲一区| 91色porny蝌蚪| 欧美一二三在线| 日本一区二区三区dvd视频在线| 亚洲免费观看高清在线观看| 亚洲6080在线| 国产九色精品成人porny| 99国产一区二区三精品乱码| 欧美日本国产一区| 国产日韩影视精品| 五月天视频一区| 懂色av一区二区三区免费观看| 91激情五月电影| 精品88久久久久88久久久| 亚洲免费观看高清在线观看| 蜜桃91丨九色丨蝌蚪91桃色| 丁香婷婷综合网| 欧美精品乱码久久久久久按摩 | 中文字幕中文乱码欧美一区二区| 亚洲国产视频一区二区| 国产麻豆成人传媒免费观看| 欧洲av一区二区嗯嗯嗯啊| 久久蜜桃av一区精品变态类天堂 | 色中色一区二区| 欧美va在线播放| 亚洲精品国产a| 国产成人亚洲综合色影视| 欧美精品三级日韩久久| ...xxx性欧美| 国产精品99久久久久久有的能看| 91香蕉视频黄| 欧美高清在线视频| 久久国产精品无码网站| 欧美日免费三级在线| 国产精品福利一区| 国产一区二区三区| 欧美一区二区三区白人| 亚洲色图视频网| 国产suv精品一区二区883| 91精品国产综合久久小美女| 亚洲欧美日韩一区二区三区在线观看| 全国精品久久少妇| 99久久婷婷国产综合精品| 日韩视频一区二区三区在线播放| 精品99一区二区| 调教+趴+乳夹+国产+精品| yourporn久久国产精品| 日韩你懂的在线观看| 亚洲综合视频在线| 国产成人av电影在线观看| 91.com在线观看| 午夜激情综合网| 99热精品国产| 国产偷v国产偷v亚洲高清| 蜜臀国产一区二区三区在线播放| 91麻豆6部合集magnet| 国产亚洲欧美中文| 九色porny丨国产精品| 欧美无砖砖区免费| 国产精品国产三级国产| 国产在线国偷精品免费看| 欧美高清你懂得| 亚洲自拍偷拍九九九| av一区二区久久| 国产女同互慰高潮91漫画| 亚洲高清免费观看高清完整版在线观看| 国产毛片精品视频| 精品奇米国产一区二区三区| 亚洲第四色夜色| 一本大道久久a久久精二百| 国产精品私房写真福利视频| 狠狠色狠狠色综合系列| 日韩一区二区三| 亚洲午夜免费视频| 欧美久久久影院| 亚洲成人av一区| 欧美日韩在线综合| 亚洲国产视频一区二区| 91福利在线观看| 亚洲午夜一区二区| 欧美日韩另类一区| 亚洲国产日韩综合久久精品| 一本久久精品一区二区| 国产精品久久综合| 日本精品视频一区二区三区| 最新高清无码专区| 色老综合老女人久久久| 亚洲日本va午夜在线电影| 99视频国产精品| 亚洲美腿欧美偷拍| 91福利精品视频| 午夜一区二区三区在线观看| 欧美色窝79yyyycom| 亚洲h在线观看| 91精品国产全国免费观看| 久久国产免费看| 久久久久国产精品免费免费搜索| 国产一区二区三区国产| 国产日韩欧美精品一区| 成人av网站在线观看免费| 中文字幕一区日韩精品欧美| 99久久精品久久久久久清纯| 亚洲老司机在线| 欧美日韩一区二区不卡| 亚洲自拍偷拍欧美| 2021久久国产精品不只是精品| 国产一区二区三区免费观看| 欧美激情艳妇裸体舞| 成人综合婷婷国产精品久久蜜臀 | 亚洲线精品一区二区三区| 欧美日韩一区二区三区在线| 一区二区三区91| 日韩亚洲欧美在线观看| 国产在线看一区| 国产精品拍天天在线| 欧美午夜免费电影| 日韩在线观看一区二区| 国产免费观看久久| 欧洲一区二区av| 久久国产夜色精品鲁鲁99| 久久久久久久免费视频了| 91在线视频免费91| 视频一区二区国产| 亚洲四区在线观看| 91麻豆精品91久久久久同性| 国产精品亚洲第一区在线暖暖韩国| 国产精品欧美极品| 欧美年轻男男videosbes| 国产精品99久久久| 日韩中文字幕91| 久久精品亚洲精品国产欧美 | 亚洲成av人在线观看| 日韩天堂在线观看| 成人免费福利片| 亚州成人在线电影| 亚洲三级在线播放| 久久综合视频网| 欧美性极品少妇| 国产福利一区二区| 亚洲福利视频一区| 欧美一二三区在线观看| 在线日韩av片| 国产精品自拍毛片| 日韩精品电影在线观看| 国产精品视频一二三区| 3751色影院一区二区三区| 欧美在线免费观看亚洲| 国产成人综合在线播放| 五月婷婷欧美视频| 日韩毛片视频在线看| 精品国产一区二区三区av性色| 99久久综合色| 成人国产精品免费观看动漫| 青青草91视频| 亚洲国产另类av| 国产精品成人免费在线| 久久婷婷成人综合色| 欧美日韩免费一区二区三区视频| 成人av在线网| 懂色av中文一区二区三区 | 尤物在线观看一区| 国产精品美女一区二区| wwww国产精品欧美|