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

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

?? uart.c

?? FREERTOS的3.2.4版,關鍵是這個包里面含有FreeRTOS的官方網站的鏡像,內含FreeRTOS的完全文檔和好多種CPU的移植成果.
?? C
?? 第 1 頁 / 共 2 頁
字號:
/******************** (C) COPYRIGHT 2003 STMicroelectronics ********************
* File Name          : uart.c
* Author             : MCD Application Team
* Date First Issued  : 06/08/2003
* Description        : This file provides all the UART software functions
********************************************************************************
* History:
*  30/11/2004 : V2.0
*  14/07/2004 : V1.3
*  01/01/2004 : V1.2
*******************************************************************************
 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.
*******************************************************************************/

#include "uart.h"

/*******************************************************************************
* Function Name  : UART_Init
* Description    : This function initializes the selected UART.
* Input 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Output         : None
* Return         : None
*******************************************************************************/
void UART_Init(UART_TypeDef *UARTx)
{
  UARTx->IER = 0x00;
  UARTx->CR = 0x00;
  (void)UARTx->RxBUFR;
  UARTx->RxRSTR = 0xFFFF;
  UARTx->TxRSTR = 0xFFFF;
}

/*******************************************************************************
* Function Name  : UART_BaudRateConfig
* Description    : This function configures the baud rate of the selected UART.
* Input 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : The baudrate value
* Output         : None
* Return         : None
*******************************************************************************/
void UART_BaudRateConfig(UART_TypeDef *UARTx, u32 BaudRate)
{
  UARTx->BR = (u16)(RCCU_FrequencyValue(RCCU_FCLK)/(16*BaudRate));
}

/*******************************************************************************
* Function Name  : UART_Config
* Description    : This function configures the baudrate, the mode, the data
*                  parity and the number of stop bits of the selected UART.
* Input 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : The baudrate value
* Input 3        : The parity type
* Input 4        : The number of stop bits
* Input 5        : The UART mode
* 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 the interrupts of the
*                  selected UART.
* Input 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : The new interrupt flag
* Input 3        : ENABLE or DISABLE
* Output         : None
* Return         : None
*******************************************************************************/
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 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : 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 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : UART_RxFIFO or 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 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : 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_RxConfig
* Description    : This function enables or disables the UART data reception.
* Input 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : 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 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : ENABLE or DISABLE
* Output         : None
* Return         : None
*******************************************************************************/
void UART_OnOffConfig(UART_TypeDef *UARTx, FunctionalState NewState)
{
  if (NewState==ENABLE) UARTx->CR|=0x0080; else UARTx->CR&=~0x0080;
}

/*******************************************************************************
* Function Name  : UART_ByteSend
* Description    : This function sends a data byte to the selected UART.
* Input 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : A pointer to the data byte to send
* Output         : None
* Return         : None
*******************************************************************************/
void UART_ByteSend(UART_TypeDef *UARTx, u8 *Data)
{
  if (UARTx->CR & (0x0001<<UART_FIFOEnableBit))// if FIFO ENABLED
    while((UARTx->SR & UART_TxFull)); // while the UART_TxFIFO contain 16 characters.
  else                  // if FIFO DISABLED
    while (!(UARTx->SR & UART_TxEmpty)); // while the transmit shift register not empty
  UARTx->TxBUFR = *Data;
}

/*******************************************************************************
* Function Name  : UART_9BitByteSend
* Description    : This function sends a 9 bits data byte to the selected UART.
* Input 1        : UARTx (x can be 0,1, 2 or 3) the desired UART
* Input 2        : A pointer to the data to send
* Output         : None
* Return         : None
*******************************************************************************/
void UART_9BitByteSend(UART_TypeDef *UARTx, u16 *Data)
{
  if(UARTx->CR & (0x0001<<UART_FIFOEnableBit))// if FIFO ENABLED
    while((UARTx->SR & UART_TxFull)); // while the UART_TxFIFO contain 16 characters.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久桃色tv| 日日夜夜精品视频天天综合网| 一区二区三区国产精华| 麻豆中文一区二区| 欧美午夜精品久久久| 欧美精品一区二区三区蜜臀| 亚洲综合一区在线| 成人一区二区三区视频| 精品少妇一区二区三区在线播放 | 丁香婷婷深情五月亚洲| 欧美日韩另类一区| 尤物在线观看一区| 成人毛片在线观看| 久久久国产一区二区三区四区小说 | 一区二区三区鲁丝不卡| 高清av一区二区| 欧美大片日本大片免费观看| 亚洲国产aⅴ天堂久久| 91色综合久久久久婷婷| 中文字幕永久在线不卡| 风间由美性色一区二区三区| 久久久精品免费免费| 国内精品免费**视频| 日韩美女一区二区三区| 捆绑紧缚一区二区三区视频| 欧美日韩美女一区二区| 天天av天天翘天天综合网 | 欧美激情一区二区三区全黄| 国产在线一区二区| 久久久777精品电影网影网 | 久久激情五月激情| 制服丝袜亚洲网站| 另类中文字幕网| 久久婷婷色综合| 国产一区二区三区免费看 | www.99精品| 亚洲免费观看视频| 日本黄色一区二区| 日日摸夜夜添夜夜添精品视频| 欧美日韩国产免费| 麻豆91免费观看| 久久免费国产精品| 成人福利视频网站| 亚洲综合无码一区二区| 欧美久久久久中文字幕| 日日夜夜免费精品视频| 精品少妇一区二区| 成人激情免费电影网址| 曰韩精品一区二区| 欧美一级一区二区| 丰满放荡岳乱妇91ww| 亚洲欧美激情视频在线观看一区二区三区| 色狠狠桃花综合| 视频在线观看91| 久久久精品国产99久久精品芒果| 99国产一区二区三精品乱码| 午夜精品aaa| 精品久久久久久久一区二区蜜臀| 国产91精品一区二区麻豆网站| 一区二区三区四区中文字幕| 欧美一区二区三区小说| 粉嫩嫩av羞羞动漫久久久| 亚洲高清免费观看高清完整版在线观看| 欧美精品vⅰdeose4hd| 国产精品一区专区| 亚洲最快最全在线视频| 日韩精品在线网站| 日本精品一区二区三区四区的功能| 日本欧美一区二区| 亚洲人成小说网站色在线 | 99久久夜色精品国产网站| 偷窥国产亚洲免费视频| 国产欧美日韩在线看| 欧美色视频一区| 国产福利91精品一区| 天天影视涩香欲综合网| 亚洲视频一区在线观看| 精品免费一区二区三区| 欧美午夜电影网| 国产乱子伦视频一区二区三区| 亚洲自拍另类综合| 久久久精品免费网站| 制服丝袜成人动漫| 欧美96一区二区免费视频| 136国产福利精品导航| 欧美日韩精品一区二区天天拍小说| 久久99精品国产麻豆婷婷| 一区二区三区日韩欧美精品| 久久久久久久久伊人| 欧美一区二区三区精品| 91在线小视频| 成人在线视频一区二区| 麻豆精品视频在线观看视频| 国产一区二区三区蝌蚪| 亚洲成人先锋电影| 国产精品不卡视频| 久久久激情视频| 久久在线观看免费| 欧美伦理影视网| 色av一区二区| 色综合久久综合| 成人不卡免费av| 成人国产精品免费| 成人午夜看片网址| 国产福利一区在线观看| 国产一区二区三区美女| 韩国v欧美v亚洲v日本v| 婷婷丁香激情综合| 调教+趴+乳夹+国产+精品| 亚洲6080在线| 三级在线观看一区二区 | 日本欧美大码aⅴ在线播放| 亚洲图片一区二区| 亚洲一区二区三区视频在线播放| 国产精品成人免费| 亚洲激情图片qvod| 亚洲黄色性网站| 亚洲一区二区综合| 五月开心婷婷久久| 日本成人在线不卡视频| 免费的国产精品| 国产一区二区精品久久91| 国产精品资源站在线| 岛国精品在线观看| 91丨porny丨蝌蚪视频| 欧美在线啊v一区| 3d动漫精品啪啪一区二区竹菊| 日韩三级中文字幕| 久久九九99视频| 日韩理论在线观看| 亚洲国产精品麻豆| 麻豆精品一区二区av白丝在线 | 亚欧色一区w666天堂| 国产日韩影视精品| 中文字幕亚洲在| 亚洲一区二区三区四区在线| 日日噜噜夜夜狠狠视频欧美人 | 精品久久久影院| 国产亚洲成aⅴ人片在线观看| 国产精品久久久久久久久久免费看| 一区二区三区在线免费观看| 免费高清在线一区| 成人久久久精品乱码一区二区三区 | 久久综合色婷婷| 亚洲欧美自拍偷拍色图| 天天色 色综合| 成人性视频网站| 91精品国产色综合久久ai换脸| 久久久久久免费| 亚洲第一福利视频在线| 国产一区二区三区电影在线观看| 99re这里只有精品6| 欧美一级一区二区| 亚洲女子a中天字幕| 免费一级片91| 99久久国产综合精品色伊| 91精品视频网| 亚洲精品伦理在线| 国产真实乱对白精彩久久| 欧洲色大大久久| 国产欧美一区二区精品性色| 丝袜美腿亚洲综合| 99久久久国产精品免费蜜臀| 中文一区一区三区高中清不卡| 玉米视频成人免费看| 国产一区在线精品| 欧美久久久久久久久久| 国产精品久久毛片a| 久久国产尿小便嘘嘘| 国产精品乱码一区二三区小蝌蚪| 亚洲香肠在线观看| a亚洲天堂av| 久久久久九九视频| 蜜臀a∨国产成人精品| 欧美日韩免费高清一区色橹橹| 国产欧美日韩视频在线观看| 乱一区二区av| 欧美一区二区网站| 亚洲成国产人片在线观看| 91香蕉视频污在线| 中文字幕日韩精品一区| 国产精品亚洲专一区二区三区| 欧美精品在线观看一区二区| 一片黄亚洲嫩模| 一本久久a久久免费精品不卡| 国产精品视频看| 国产精品77777| 久久久亚洲午夜电影| 久久99国产精品成人| 日韩一区二区三区视频在线观看| 亚洲超丰满肉感bbw| 欧美视频一区二| 亚洲国产成人porn| 欧美日韩三级一区二区| 亚洲国产一区二区在线播放| 欧美日韩在线播放| 日韩国产成人精品| 欧美一级片在线| 精品夜夜嗨av一区二区三区| 日韩三级免费观看|