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

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

?? stm32f10x_fsmc.c

?? 學習stm32定時器
?? C
?? 第 1 頁 / 共 3 頁
字號:
    }
  }
  else
  {
    /* Disable the selected NAND Bank ECC function by clearing the ECCEN bit in the PCRx register */
    if(FSMC_Bank == FSMC_Bank2_NAND)
    {
      FSMC_Bank2->PCR2 &= PCR_ECCEN_Reset;
    }
    else
    {
      FSMC_Bank3->PCR3 &= PCR_ECCEN_Reset;
    }
  }
}

/**
  * @brief  Returns the error correction code register value.
  * @param  FSMC_Bank: specifies the FSMC Bank to be used
  *   This parameter can be one of the following values:
  *     @arg FSMC_Bank2_NAND: FSMC Bank2 NAND 
  *     @arg FSMC_Bank3_NAND: FSMC Bank3 NAND
  * @retval The Error Correction Code (ECC) value.
  */
uint32_t FSMC_GetECC(uint32_t FSMC_Bank)
{
  uint32_t eccval = 0x00000000;
  
  if(FSMC_Bank == FSMC_Bank2_NAND)
  {
    /* Get the ECCR2 register value */
    eccval = FSMC_Bank2->ECCR2;
  }
  else
  {
    /* Get the ECCR3 register value */
    eccval = FSMC_Bank3->ECCR3;
  }
  /* Return the error correction code value */
  return(eccval);
}

/**
  * @brief  Enables or disables the specified FSMC interrupts.
  * @param  FSMC_Bank: specifies the FSMC Bank to be used
  *   This parameter can be one of the following values:
  *     @arg FSMC_Bank2_NAND: FSMC Bank2 NAND 
  *     @arg FSMC_Bank3_NAND: FSMC Bank3 NAND
  *     @arg FSMC_Bank4_PCCARD: FSMC Bank4 PCCARD
  * @param  FSMC_IT: specifies the FSMC interrupt sources to be enabled or disabled.
  *   This parameter can be any combination of the following values:
  *     @arg FSMC_IT_RisingEdge: Rising edge detection interrupt. 
  *     @arg FSMC_IT_Level: Level edge detection interrupt.
  *     @arg FSMC_IT_FallingEdge: Falling edge detection interrupt.
  * @param  NewState: new state of the specified FSMC interrupts.
  *   This parameter can be: ENABLE or DISABLE.
  * @retval None
  */
void FSMC_ITConfig(uint32_t FSMC_Bank, uint32_t FSMC_IT, FunctionalState NewState)
{
  assert_param(IS_FSMC_IT_BANK(FSMC_Bank));
  assert_param(IS_FSMC_IT(FSMC_IT));	
  assert_param(IS_FUNCTIONAL_STATE(NewState));
  
  if (NewState != DISABLE)
  {
    /* Enable the selected FSMC_Bank2 interrupts */
    if(FSMC_Bank == FSMC_Bank2_NAND)
    {
      FSMC_Bank2->SR2 |= FSMC_IT;
    }
    /* Enable the selected FSMC_Bank3 interrupts */
    else if (FSMC_Bank == FSMC_Bank3_NAND)
    {
      FSMC_Bank3->SR3 |= FSMC_IT;
    }
    /* Enable the selected FSMC_Bank4 interrupts */
    else
    {
      FSMC_Bank4->SR4 |= FSMC_IT;    
    }
  }
  else
  {
    /* Disable the selected FSMC_Bank2 interrupts */
    if(FSMC_Bank == FSMC_Bank2_NAND)
    {
      
      FSMC_Bank2->SR2 &= (uint32_t)~FSMC_IT;
    }
    /* Disable the selected FSMC_Bank3 interrupts */
    else if (FSMC_Bank == FSMC_Bank3_NAND)
    {
      FSMC_Bank3->SR3 &= (uint32_t)~FSMC_IT;
    }
    /* Disable the selected FSMC_Bank4 interrupts */
    else
    {
      FSMC_Bank4->SR4 &= (uint32_t)~FSMC_IT;    
    }
  }
}

/**
  * @brief  Checks whether the specified FSMC flag is set or not.
  * @param  FSMC_Bank: specifies the FSMC Bank to be used
  *   This parameter can be one of the following values:
  *     @arg FSMC_Bank2_NAND: FSMC Bank2 NAND 
  *     @arg FSMC_Bank3_NAND: FSMC Bank3 NAND
  *     @arg FSMC_Bank4_PCCARD: FSMC Bank4 PCCARD
  * @param  FSMC_FLAG: specifies the flag to check.
  *   This parameter can be one of the following values:
  *     @arg FSMC_FLAG_RisingEdge: Rising egde detection Flag.
  *     @arg FSMC_FLAG_Level: Level detection Flag.
  *     @arg FSMC_FLAG_FallingEdge: Falling egde detection Flag.
  *     @arg FSMC_FLAG_FEMPT: Fifo empty Flag. 
  * @retval The new state of FSMC_FLAG (SET or RESET).
  */
FlagStatus FSMC_GetFlagStatus(uint32_t FSMC_Bank, uint32_t FSMC_FLAG)
{
  FlagStatus bitstatus = RESET;
  uint32_t tmpsr = 0x00000000;
  
  /* Check the parameters */
  assert_param(IS_FSMC_GETFLAG_BANK(FSMC_Bank));
  assert_param(IS_FSMC_GET_FLAG(FSMC_FLAG));
  
  if(FSMC_Bank == FSMC_Bank2_NAND)
  {
    tmpsr = FSMC_Bank2->SR2;
  }  
  else if(FSMC_Bank == FSMC_Bank3_NAND)
  {
    tmpsr = FSMC_Bank3->SR3;
  }
  /* FSMC_Bank4_PCCARD*/
  else
  {
    tmpsr = FSMC_Bank4->SR4;
  } 
  
  /* Get the flag status */
  if ((tmpsr & FSMC_FLAG) != (uint16_t)RESET )
  {
    bitstatus = SET;
  }
  else
  {
    bitstatus = RESET;
  }
  /* Return the flag status */
  return bitstatus;
}

/**
  * @brief  Clears the FSMC's pending flags.
  * @param  FSMC_Bank: specifies the FSMC Bank to be used
  *   This parameter can be one of the following values:
  *     @arg FSMC_Bank2_NAND: FSMC Bank2 NAND 
  *     @arg FSMC_Bank3_NAND: FSMC Bank3 NAND
  *     @arg FSMC_Bank4_PCCARD: FSMC Bank4 PCCARD
  * @param  FSMC_FLAG: specifies the flag to clear.
  *   This parameter can be any combination of the following values:
  *     @arg FSMC_FLAG_RisingEdge: Rising egde detection Flag.
  *     @arg FSMC_FLAG_Level: Level detection Flag.
  *     @arg FSMC_FLAG_FallingEdge: Falling egde detection Flag.
  * @retval None
  */
void FSMC_ClearFlag(uint32_t FSMC_Bank, uint32_t FSMC_FLAG)
{
 /* Check the parameters */
  assert_param(IS_FSMC_GETFLAG_BANK(FSMC_Bank));
  assert_param(IS_FSMC_CLEAR_FLAG(FSMC_FLAG)) ;
    
  if(FSMC_Bank == FSMC_Bank2_NAND)
  {
    FSMC_Bank2->SR2 &= ~FSMC_FLAG; 
  }  
  else if(FSMC_Bank == FSMC_Bank3_NAND)
  {
    FSMC_Bank3->SR3 &= ~FSMC_FLAG;
  }
  /* FSMC_Bank4_PCCARD*/
  else
  {
    FSMC_Bank4->SR4 &= ~FSMC_FLAG;
  }
}

/**
  * @brief  Checks whether the specified FSMC interrupt has occurred or not.
  * @param  FSMC_Bank: specifies the FSMC Bank to be used
  *   This parameter can be one of the following values:
  *     @arg FSMC_Bank2_NAND: FSMC Bank2 NAND 
  *     @arg FSMC_Bank3_NAND: FSMC Bank3 NAND
  *     @arg FSMC_Bank4_PCCARD: FSMC Bank4 PCCARD
  * @param  FSMC_IT: specifies the FSMC interrupt source to check.
  *   This parameter can be one of the following values:
  *     @arg FSMC_IT_RisingEdge: Rising edge detection interrupt. 
  *     @arg FSMC_IT_Level: Level edge detection interrupt.
  *     @arg FSMC_IT_FallingEdge: Falling edge detection interrupt. 
  * @retval The new state of FSMC_IT (SET or RESET).
  */
ITStatus FSMC_GetITStatus(uint32_t FSMC_Bank, uint32_t FSMC_IT)
{
  ITStatus bitstatus = RESET;
  uint32_t tmpsr = 0x0, itstatus = 0x0, itenable = 0x0; 
  
  /* Check the parameters */
  assert_param(IS_FSMC_IT_BANK(FSMC_Bank));
  assert_param(IS_FSMC_GET_IT(FSMC_IT));
  
  if(FSMC_Bank == FSMC_Bank2_NAND)
  {
    tmpsr = FSMC_Bank2->SR2;
  }  
  else if(FSMC_Bank == FSMC_Bank3_NAND)
  {
    tmpsr = FSMC_Bank3->SR3;
  }
  /* FSMC_Bank4_PCCARD*/
  else
  {
    tmpsr = FSMC_Bank4->SR4;
  } 
  
  itstatus = tmpsr & FSMC_IT;
  
  itenable = tmpsr & (FSMC_IT >> 3);
  if ((itstatus != (uint32_t)RESET)  && (itenable != (uint32_t)RESET))
  {
    bitstatus = SET;
  }
  else
  {
    bitstatus = RESET;
  }
  return bitstatus; 
}

/**
  * @brief  Clears the FSMC's interrupt pending bits.
  * @param  FSMC_Bank: specifies the FSMC Bank to be used
  *   This parameter can be one of the following values:
  *     @arg FSMC_Bank2_NAND: FSMC Bank2 NAND 
  *     @arg FSMC_Bank3_NAND: FSMC Bank3 NAND
  *     @arg FSMC_Bank4_PCCARD: FSMC Bank4 PCCARD
  * @param  FSMC_IT: specifies the interrupt pending bit to clear.
  *   This parameter can be any combination of the following values:
  *     @arg FSMC_IT_RisingEdge: Rising edge detection interrupt. 
  *     @arg FSMC_IT_Level: Level edge detection interrupt.
  *     @arg FSMC_IT_FallingEdge: Falling edge detection interrupt.
  * @retval None
  */
void FSMC_ClearITPendingBit(uint32_t FSMC_Bank, uint32_t FSMC_IT)
{
  /* Check the parameters */
  assert_param(IS_FSMC_IT_BANK(FSMC_Bank));
  assert_param(IS_FSMC_IT(FSMC_IT));
    
  if(FSMC_Bank == FSMC_Bank2_NAND)
  {
    FSMC_Bank2->SR2 &= ~(FSMC_IT >> 3); 
  }  
  else if(FSMC_Bank == FSMC_Bank3_NAND)
  {
    FSMC_Bank3->SR3 &= ~(FSMC_IT >> 3);
  }
  /* FSMC_Bank4_PCCARD*/
  else
  {
    FSMC_Bank4->SR4 &= ~(FSMC_IT >> 3);
  }
}

/**
  * @}
  */ 

/**
  * @}
  */

/**
  * @}
  */

/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av在线影院| 欧美一区二区三区四区五区| 欧美久久久久久蜜桃| 久久日韩精品一区二区五区| 一区二区成人在线观看| 国产精品99久久久| 337p亚洲精品色噜噜| 中文字幕在线不卡一区二区三区| 日韩av一区二区在线影视| www.亚洲免费av| 久久久午夜电影| 青青国产91久久久久久| 91国偷自产一区二区开放时间| 久久综合九色综合久久久精品综合 | www.亚洲色图.com| 日韩免费一区二区三区在线播放| 亚洲蜜桃精久久久久久久| 国产高清精品在线| 久久久国产一区二区三区四区小说| 亚洲成a人片综合在线| 91碰在线视频| 亚洲丝袜精品丝袜在线| 成人精品在线视频观看| 国产亚洲精品7777| 国产成人精品综合在线观看| 欧美大尺度电影在线| 美女视频网站久久| 欧美成人精品3d动漫h| 美腿丝袜亚洲色图| 欧美一二三四在线| 蜜桃视频一区二区| 日韩欧美不卡一区| 激情欧美一区二区| 久久久精品一品道一区| 国产宾馆实践打屁股91| 国产精品伦理在线| 色婷婷激情久久| 亚洲一区二区偷拍精品| 欧美日韩一二三区| 丝袜a∨在线一区二区三区不卡| 欧美伊人久久大香线蕉综合69| 一区二区三区四区不卡在线| 欧洲另类一二三四区| 午夜精品成人在线| 欧美一级日韩不卡播放免费| 久久66热re国产| 国产欧美一二三区| 色综合久久久久网| 天堂资源在线中文精品| 制服丝袜国产精品| 国产美女娇喘av呻吟久久| 欧美国产一区视频在线观看| 91亚洲精华国产精华精华液| 亚洲一线二线三线视频| 日韩精品在线网站| 大白屁股一区二区视频| 亚洲精品菠萝久久久久久久| 欧美一区二区三区婷婷月色| 韩国中文字幕2020精品| 亚洲视频 欧洲视频| 91麻豆精品国产综合久久久久久| 精品一区二区三区欧美| 国产精品萝li| 欧美一区二区三区视频| 国产精品一区二区久久不卡| 亚洲天堂成人在线观看| 欧美一区二区视频网站| 岛国av在线一区| 亚洲成av人影院| 欧美国产精品久久| 欧美日本国产一区| 成人午夜免费电影| 日本不卡123| 亚洲激情男女视频| 精品电影一区二区| 欧美日产在线观看| 91小视频在线观看| 精品综合久久久久久8888| 亚洲女与黑人做爰| 精品粉嫩超白一线天av| 欧美色国产精品| 成人av中文字幕| 国产精品自产自拍| 一区二区三区四区蜜桃| 国产丝袜欧美中文另类| 91精品国产手机| 91麻豆自制传媒国产之光| 国产一区二区免费在线| 日韩高清国产一区在线| 综合欧美一区二区三区| 精品久久一二三区| 欧美日本精品一区二区三区| 91日韩在线专区| aaa亚洲精品| 国产成人亚洲综合a∨婷婷图片| 日韩精品高清不卡| 亚洲综合久久久久| 亚洲欧美另类小说| 中文字幕在线不卡一区二区三区| 久久久久久久综合| 精品欧美乱码久久久久久1区2区| 欧美嫩在线观看| 欧美色手机在线观看| 欧美影片第一页| 欧美日韩精品一区二区在线播放| 99精品国产99久久久久久白柏| 粉嫩av一区二区三区在线播放| 激情综合五月天| 国产一区视频导航| 精彩视频一区二区| 另类小说一区二区三区| 男人操女人的视频在线观看欧美| 香蕉加勒比综合久久| 亚欧色一区w666天堂| 香港成人在线视频| 蜜臀av一区二区| 精品一二三四区| 国产精品自拍毛片| 国v精品久久久网| 成人av在线看| 色国产综合视频| 欧美日韩国产综合视频在线观看| 欧美亚洲综合另类| 911国产精品| 日韩欧美一区电影| 久久一夜天堂av一区二区三区| 久久久精品国产免费观看同学| 国产调教视频一区| 亚洲日本欧美天堂| 亚洲一区二区成人在线观看| 日韩高清欧美激情| 国产一区二区精品在线观看| 国产精品一区在线| 91在线国内视频| 欧美视频精品在线| 日韩精品专区在线影院重磅| 久久久久久一二三区| 亚洲四区在线观看| 三级一区在线视频先锋| 国模无码大尺度一区二区三区| 成人黄色国产精品网站大全在线免费观看| 高清视频一区二区| 91国产免费观看| 欧美大白屁股肥臀xxxxxx| 国产精品久久久久影院亚瑟| 亚洲综合丁香婷婷六月香| 美女性感视频久久| 波多野结衣一区二区三区| 91极品美女在线| 精品欧美一区二区三区精品久久 | 91精品国产91久久久久久一区二区 | 亚洲人亚洲人成电影网站色| 亚洲国产一区视频| 国产一区欧美一区| 欧美午夜在线一二页| 久久色.com| 午夜视频久久久久久| 国产福利91精品一区二区三区| 成人开心网精品视频| 欧美一区欧美二区| 亚洲免费电影在线| 国产精品综合一区二区三区| 欧美日韩在线一区二区| 欧美国产激情一区二区三区蜜月| 亚洲国产精品久久艾草纯爱| 国产老女人精品毛片久久| 欧美这里有精品| 国产精品免费av| 美女诱惑一区二区| 欧美三级电影在线看| 中文一区一区三区高中清不卡| 天堂一区二区在线免费观看| 不卡av在线免费观看| 日韩欧美成人一区二区| 亚洲高清免费视频| 色综合久久中文字幕| 欧美韩日一区二区三区| 久久se精品一区二区| 欧美亚洲丝袜传媒另类| 综合av第一页| 国产成人免费视频一区| 日韩欧美中文一区二区| 亚洲一区在线播放| av动漫一区二区| 国产日韩影视精品| 国产一区高清在线| 日韩一区二区三| 天天综合天天综合色| 91久久精品网| 亚洲高清中文字幕| 在线日韩国产精品| 一级日本不卡的影视| 色婷婷久久一区二区三区麻豆| 中文字幕在线播放不卡一区| 国产精品一级在线| 久久精品亚洲精品国产欧美kt∨| 韩国成人在线视频| xfplay精品久久| 国产精品69毛片高清亚洲| 久久久影视传媒|