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

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

?? 71x_uart.c

?? STR7系列32位ARM控制器的固件庫
?? C
?? 第 1 頁 / 共 2 頁
字號:
/******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
* File Name          : 71x_uart.c
* Author             : MCD Application Team
* Version            : V4.0
* Date               : 10/09/2007
* Description        : This file provides all the UART firmware functions
********************************************************************************
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*******************************************************************************/

/* Includes ------------------------------------------------------------------*/
#include "71x_uart.h"

/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/

/*******************************************************************************
* Function Name  : UART_Init
* Description    : This function initializes the selected UART registers to
*                  their reset values.
* Input          : - UARTx: selects the UART to be configured UART
*                    (x can be 0,1, 2 or 3).
* Output         : None.
* Return         : None.
*******************************************************************************/
void UART_Init(UART_TypeDef *UARTx)
{
  UARTx->CR = 0x0000;
  UARTx->IER = 0x0000;
  (void)UARTx->RxBUFR;
  UARTx->RxRSTR = 0xFFFF;
  UARTx->TxRSTR = 0xFFFF;
  UARTx->TOR = 0x0000;
  UARTx->GTR = 0x0000;
}

/*******************************************************************************
* Function Name  : UART_ModeConfig
* Description    : This function configures the mode of the selected UART.
* Input          : - UARTx: selects the UART to be configured
*                    (x can be 0,1, 2 or 3).
*                  - UART_Mode: selects the UART modeThe UART mode,
*                    it can be one of the following parameters:
*                    - UARTM_8D   for 8-bit data format
*                    - UARTM_7D_P for 7-bit data + parity format
*                    - UART_9D    for 9-bit data format
*                    - UART_8D_W  for 8-bit data + wake-up bit format
*                    - UART_8D_P  for 8-bit data + parity bit format
* Output         : None.
* Return         : None.
*******************************************************************************/
void UART_ModeConfig(UART_TypeDef *UARTx, UARTMode_TypeDef UART_Mode)
{
  UARTx->CR = (UARTx->CR & 0xFFF8) | (u16)UART_Mode;
}

/*******************************************************************************
* Function Name  : UART_BaudRateConfig
* Description    : This function configures the baud rate of the selected UART.
* Input          : - UARTx: selects the UART to be configured
*                    (x can be 0,1, 2 or 3).
*                  - BaudRate: The baudrate value in bps.
* Output         : None.
* Return         : None.
*******************************************************************************/
void UART_BaudRateConfig(UART_TypeDef *UARTx, u32 BaudRate)
{
  u32 tmpBaudRate = 0;

  /* Configure BaudRate */
  tmpBaudRate = (u32)((RCCU_FrequencyValue(RCCU_PCLK1) * 10) / (16 * BaudRate));

  /*Search the reload value (Integer)*/
  if (tmpBaudRate - ((tmpBaudRate / 10) * 10) < 5)
  {
    UARTx->BR = tmpBaudRate / 10;
  }
  else
  {
    UARTx->BR = (tmpBaudRate / 10) + 1;
  }
}


/*******************************************************************************
* Function Name  : UART_ParityConfig
* Description    : This function configures the data parity of the selected UART.
* Input          : - UARTx: the selected UART (x can be 0,1, 2 or 3).
*                  - Parity: the parity type, it can be:
*                    - UART_EVEN_PARITY  for even parity configuration.
*                    - UART_ODD_PARITY   for odd parity configuration.
*                    - UART_NO_PARITY    for no parity configuration.
* Output         : None.
* Return         : None.
*******************************************************************************/
void UART_ParityConfig(UART_TypeDef *UARTx, UARTParity_TypeDef Parity)
{
  UARTx->CR = (UARTx->CR & 0xFFDF) | (u16)Parity;
}

/*******************************************************************************
* Function Name  : UART_StopBitsConfig
* Description    : This function configures the number of stop bits of the
*                  selected UART.
* Input          : - UARTx: selects the UART to be configured.
*                    (x can be 0,1, 2 or 3).
*                  - StopBits: the number of stop bits, it can be:
*                    - UART_0_5_StopBits for 0.5 stop bit.
*                    - UART_1_StopBits for 1 stop bit.
*                    - UART_1_5_StopBits  for 1.5 stop bits.
*                    - UART_2_StopBits for 2 stop bits.
* Output         : None.
* Return         : None.
*******************************************************************************/
void UART_StopBitsConfig(UART_TypeDef *UARTx, UARTStopBits_TypeDef StopBits)
{
  UARTx->CR = (UARTx->CR & 0xFFE7) | (u16)StopBits;
}
/*******************************************************************************
* Function Name  : UART_Config
* Description    : This function configures the Baud rate, parity mode, 
*                  the number of stop bits and the UART mode of the selected 
*                  UART.
* Input          : - UARTx: the selected UART (x can be 0,1, 2 or 3).
*                  - BaudRate: the baudrate value in bps.
*                  - Parity: selects the parity type, it can be:
                     - UART_EVEN_PARITY  for even parity configuration.
*                    - UART_ODD_PARITY   for odd parity configuration.
*                    - UART_NO_PARITY    for no parity configuration.
*                  - StopBits: selects the number of the stop bits, it can be:
*                    - UART_0_5_StopBits for 0.5 stop bit.
*                    - UART_1_StopBits for 1 stop bit.
*                    - UART_1_5_StopBits  for 1.5 stop bits.
*                    - UART_2_StopBits for 2 stop bits.
*                  - Mode: selects the UART mode, it can be one of the following 
*                    parameters:
*                    - UARTM_8D   for 8-bit data format.
*                    - UARTM_7D_P for 7-bit data + parity format.
*                    - UART_9D    for 9-bit data format.
*                    - UART_8D_W  for 8-bit data + wake-up bit format.
*                    - UART_8D_P  for 8-bit data + parity bit format.
* Output         : None.
* Return         : None.
*******************************************************************************/
void UART_Config(UART_TypeDef *UARTx, u32 BaudRate, UARTParity_TypeDef Parity,
                 UARTStopBits_TypeDef StopBits, UARTMode_TypeDef Mode)
{
  UART_ModeConfig(UARTx, Mode);
  UART_BaudRateConfig(UARTx, BaudRate);
  UART_ParityConfig(UARTx, Parity);
  UART_StopBitsConfig(UARTx, StopBits);
}

/*******************************************************************************
* Function Name  : UART_ItConfig
* Description    : This function enables or disables one or several interrupt
*                  sources of the selected UART.
* Input          : - UARTx: the selected UART (x can be 0,1, 2 or 3).
*                  - UART_Flag: selects one or several UART interrupt source.
*                  - NewState: specifies whether the interrupt source is 
*                    enabled or disabled (ENABLE or DISABLE).
* Output         : None.
* Return         : None.
* Note           : The UART interrupt flags are listed in the file uart.h
*                  except UART_TxFull flag will have no effect when using 
*                  this function.
*******************************************************************************/
void UART_ItConfig(UART_TypeDef *UARTx, u16 UART_Flag, FunctionalState NewState)
{
  if (NewState == ENABLE)
  {
    UARTx->IER |= UART_Flag;
  }
  else
  {
    UARTx->IER &= ~UART_Flag;
  }
}

/*******************************************************************************
* Function Name  : UART_FifoConfig
* Description    : This function enables or disables the Rx and Tx FIFOs of
*                  the selected UART.
* Input          : - UARTx: the selected UART (x can be 0,1, 2 or 3).
*                  - NewState: specifies whether the FIFOs are enabled or
*                    disabled (ENABLE or DISABLE).
* Output         : None.
* Return         : None.
*******************************************************************************/
void UART_FifoConfig(UART_TypeDef *UARTx, FunctionalState NewState)
{
  if (NewState == ENABLE)
  {
    UARTx->CR |= 0x0400;
  }
  else
  {
    UARTx->CR &= ~0x0400;
  }
}

/*******************************************************************************
* Function Name  : UART_FifoReset
* Description    : This function resets the Rx and the Tx FIFOs of the
*                  selected UART.
* Input          : - UARTx: the selected UART (x can be 0,1, 2 or 3).
*                  - FIFO: Selects the FIFO to reset, it can be:
*                    - UART_RxFIFO
*                    - UART_TxFIFO
* Output         : None.
* Return         : None.
*******************************************************************************/
void UART_FifoReset(UART_TypeDef *UARTx, UARTFIFO_TypeDef FIFO)
{
  if (FIFO == UART_RxFIFO)
  {
    UARTx->RxRSTR = 0xFFFF;
  }
  else
  {
    UARTx->TxRSTR = 0xFFFF;
  }
}

/*******************************************************************************
* Function Name  : UART_LoopBackConfig
* Description    : This function enables or disables the loop back mode of
*                  the selected UART.
* Input          : - UARTx: the selected UART (x can be 0,1, 2 or 3).
*                  - NewState: specifies whether the loop back is enabled
*                    or disabled (ENABLE or DISABLE).
* Output         : None.
* Return         : None.
*******************************************************************************/
void UART_LoopBackConfig(UART_TypeDef *UARTx, FunctionalState NewState)
{
  if (NewState == ENABLE)
  {
    UARTx->CR |= 0x0040;
  }
  else
  {
    UARTx->CR &= ~0x0040;
  }
}

/*******************************************************************************
* Function Name  : UART_TimeOutPeriodConfig
* Description    : This function configures the UART Time Out Period of the
*                  selected UART.
* Input          : - UARTx: the selected UART (x can be 0,1, 2 or 3).
*                  - TimeOutPeriod: the time-out period value.
* Output         : None.
* Return         : None.
*******************************************************************************/
void UART_TimeOutPeriodConfig(UART_TypeDef *UARTx, u16 TimeOutPeriod)
{
  UARTx->TOR = TimeOutPeriod;
}

/*******************************************************************************
* Function Name  : UART_GuardTimeConfig
* Description    : This function configures the UART Guard Time.
* Input          : - UARTx: the selected UART (x can be 0,1, 2 or 3).
*                  - GuardTime: the guard time value.
* Output         : None.
* Return         : None.
*******************************************************************************/
void UART_GuardTimeConfig(UART_TypeDef *UARTx, u16 GuardTime)
{
  UARTx->GTR = GuardTime;
}
/*******************************************************************************
* Function Name  : UART_RxConfig
* Description    : This function enables or disables the selected UART data
*                  reception.
* Input          : - UARTx: selects the UART to be configured
*                    (x can be 0,1, 2 or 3).
*                  - NewState: specifies whether the reception is enabled or
*                    disabled (ENABLE or DISABLE).
* Output         : None.
* Return         : None.
*******************************************************************************/
void UART_RxConfig(UART_TypeDef *UARTx, FunctionalState NewState)
{
  if (NewState == ENABLE)
  {
    UARTx->CR |= 0x0100;
  }
  else
  {
    UARTx->CR &= ~0x0100;
  }
}

/*******************************************************************************
* Function Name  : UART_OnOffConfig
* Description    : This function sets On/Off the selected UART.
* Input          : - UARTx: selects the UART to be configured
*                    (x can be 0,1, 2 or 3).
*                  - NewState: ENABLE or DISABLE.
* Output         : None.
* Return         : None.
*******************************************************************************/
void UART_OnOffConfig(UART_TypeDef *UARTx, FunctionalState NewState)
{
  if (NewState == ENABLE)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区精品在线| 欧美美女一区二区| av电影在线不卡| 国产主播一区二区三区| 精品综合久久久久久8888| 美日韩一区二区| 国产在线精品免费av| 国产综合久久久久影院| 色综合久久久久网| 久久久亚洲精华液精华液精华液 | 亚洲精品视频免费看| 亚洲欧美日韩综合aⅴ视频| 一区二区理论电影在线观看| 亚洲福利一区二区| 久草在线在线精品观看| 欧美日韩一区二区三区高清| 欧美岛国在线观看| 国产精品免费aⅴ片在线观看| 亚洲精品久久久蜜桃| 国产99久久久国产精品| 欧美性欧美巨大黑白大战| 欧美电影一区二区三区| 夜夜爽夜夜爽精品视频| 成人av在线资源网| 91精品国产色综合久久| 国产午夜精品理论片a级大结局| 亚洲欧洲日韩女同| 亚洲va欧美va人人爽| 国产成人午夜精品影院观看视频 | 成人午夜在线播放| 欧美日韩久久久| 国产午夜精品理论片a级大结局 | 男女视频一区二区| 99re在线精品| 欧美成人精品1314www| 亚洲精品乱码久久久久久日本蜜臀| 国产激情一区二区三区桃花岛亚洲| 欧美成人video| 日本vs亚洲vs韩国一区三区 | 欧美国产丝袜视频| 日韩高清不卡一区二区三区| 成人av电影在线播放| 欧美国产乱子伦| av色综合久久天堂av综合| 国产精品护士白丝一区av| 麻豆一区二区三| 精品久久国产老人久久综合| 精品一区二区免费| 国产清纯美女被跳蛋高潮一区二区久久w | 成人蜜臀av电影| 亚洲视频中文字幕| 国产一区二区在线视频| 国产日韩欧美在线一区| av一二三不卡影片| 亚洲v中文字幕| 精品国产伦一区二区三区观看体验| 亚洲电影你懂得| 精品1区2区在线观看| 国产91精品入口| 一区二区三区欧美久久| 日韩一区二区精品在线观看| 亚洲午夜免费电影| 日韩欧美国产电影| 成人成人成人在线视频| 亚洲va韩国va欧美va精品| 久久久久99精品一区| 日本丶国产丶欧美色综合| 中文字幕亚洲一区二区va在线| 日本道在线观看一区二区| 久久丁香综合五月国产三级网站| 制服.丝袜.亚洲.另类.中文| 天天爽夜夜爽夜夜爽精品视频| 欧美伊人久久大香线蕉综合69| 青青青伊人色综合久久| 国产精品不卡视频| 91麻豆精品国产无毒不卡在线观看 | 美女爽到高潮91| 综合久久久久久| 精品av久久707| 欧美亚洲免费在线一区| 国产69精品久久777的优势| 亚洲成人www| 中文字幕制服丝袜一区二区三区 | 久久精品二区亚洲w码| 亚洲美女区一区| 日本一二三四高清不卡| 91精品久久久久久久久99蜜臂| 91啪在线观看| 一区二区三区高清在线| 国产欧美一区二区三区网站| 91精品国产乱码久久蜜臀| 色av成人天堂桃色av| 波多野洁衣一区| 久久精品国产亚洲5555| 丝袜美腿亚洲色图| www成人在线观看| 成人动漫中文字幕| 91麻豆国产精品久久| 国产一区二区在线观看视频| 日本不卡一二三| 日韩电影一二三区| 亚洲成人激情自拍| 亚洲国产日韩精品| 一区二区国产视频| 1区2区3区国产精品| 国产欧美日韩在线看| 精品成人一区二区| 26uuu国产电影一区二区| 日韩亚洲欧美成人一区| 91麻豆精品国产自产在线 | 99久久精品免费| 国产成人综合在线观看| 国产激情精品久久久第一区二区| 精品一区二区免费| 国产综合久久久久影院| 国产乱子轮精品视频| 国产肉丝袜一区二区| 久久青草欧美一区二区三区| 久久久久国产一区二区三区四区 | 一区二区成人在线观看| 一区二区不卡在线视频 午夜欧美不卡在| 国产精品久久久久久久浪潮网站 | 欧美在线短视频| 国产在线精品视频| 国产精品综合二区| 成人午夜视频福利| 91在线porny国产在线看| 91精彩视频在线观看| 欧美日韩综合不卡| 日韩午夜激情电影| 国产亚洲成年网址在线观看| 国产精品美女久久久久aⅴ| 亚洲精品视频一区二区| 亚洲在线视频网站| 麻豆成人av在线| 国产激情一区二区三区四区| 95精品视频在线| 欧美日韩久久久| 久久久久久久久97黄色工厂| 亚洲视频在线一区二区| 日韩av在线播放中文字幕| 国产麻豆视频一区| 91国产免费观看| 欧美成人vps| 亚洲日本在线天堂| 蜜桃久久av一区| 99在线热播精品免费| 91精品国产综合久久蜜臀| 久久夜色精品国产欧美乱极品| 亚洲欧美偷拍三级| 久久精品国产77777蜜臀| 91网站视频在线观看| 日韩一区二区在线播放| 国产精品久久夜| 日本不卡中文字幕| 北岛玲一区二区三区四区| 欧美日本一区二区三区四区| 国产日韩欧美一区二区三区乱码| 亚洲国产精品欧美一二99| 国产一区二区美女| 欧美日韩高清影院| 17c精品麻豆一区二区免费| 日本亚洲三级在线| av电影在线观看一区| 精品国产第一区二区三区观看体验| 一区二区三区中文字幕在线观看| 精品一区二区在线免费观看| 欧美性xxxxxx少妇| 中文在线一区二区| 久久99精品国产| 欧美三级中文字幕| 亚洲三级视频在线观看| 国产传媒欧美日韩成人| 欧美一级片免费看| 亚洲一区二区三区视频在线播放| 成熟亚洲日本毛茸茸凸凹| 欧美成人午夜电影| 日韩二区三区在线观看| 日本韩国欧美国产| 自拍偷拍亚洲激情| 成人av资源在线观看| 国产欧美日韩不卡免费| 激情综合色综合久久综合| 91精品国产色综合久久久蜜香臀| 亚洲综合一区在线| 色综合一个色综合| 91精品婷婷国产综合久久竹菊| 亚洲三级在线免费| 高清国产一区二区| 国产婷婷精品av在线| 国产福利一区二区三区| 精品国产三级a在线观看| 麻豆精品国产91久久久久久| 欧美一区二区久久久| 日韩一区精品视频| 91精品国产色综合久久久蜜香臀| 亚洲国产成人va在线观看天堂| 欧美午夜精品久久久久久孕妇| 亚洲精品国产品国语在线app| 99视频在线精品|