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

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

?? usart.h

?? FreeRTOS V4.2.1,增加了AVR32 UC3 和 LPC2368 的支持
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*This file is prepared for Doxygen automatic documentation generation.*/
/*! \file *********************************************************************
 *
 * \brief USART driver for AVR32 UC3.
 *
 * This file contains basic functions for the AVR32 USART, with support for all
 * modes, settings and clock speeds.
 *
 * - Compiler:           IAR EWAVR32 and GNU GCC for AVR32
 * - Supported devices:  All AVR32 devices with a USART module can be used.
 * - AppNote:
 *
 * \author               Atmel Corporation: http://www.atmel.com \n
 *                       Support email: avr32@atmel.com
 *
 ******************************************************************************/

/* Copyright (c) 2007, Atmel Corporation All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * 1. Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the following disclaimer in the documentation
 * and/or other materials provided with the distribution.
 *
 * 3. The name of ATMEL may not be used to endorse or promote products derived
 * from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND
 * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */


#ifndef _USART_H_
#define _USART_H_

#if __GNUC__
#  include <avr32/io.h>
#elif __ICCAVR32__
#  include <avr32/iouc3a0512.h>
#else
#  error Unknown compiler
#endif

#include "compiler.h"


/*! \name Return Values
 */
//! @{
#define USART_SUCCESS           0 //!< Successful completion.
#define USART_FAILURE          -1 //!< Failure because of some unspecified reason.
#define USART_INVALID_INPUT     1 //!< Input value out of range.
#define USART_INVALID_ARGUMENT -1 //!< Argument value out of range.
#define USART_TX_BUSY           2 //!< Transmitter was busy.
#define USART_RX_EMPTY          3 //!< Nothing was received.
#define USART_RX_ERROR          4 //!< Transmission error occurred.
#define USART_MODE_FAULT        5 //!< USART not in the appropriate mode.
//! @}

//! Default time-out value (number of attempts).
#define USART_DEFAULT_TIMEOUT   10000

/*! \name Parity Settings
 */
//! @{
#define USART_EVEN_PARITY       AVR32_USART_MR_PAR_EVEN   //!< Use even parity on character transmission.
#define USART_ODD_PARITY        AVR32_USART_MR_PAR_ODD    //!< Use odd parity on character transmission.
#define USART_SPACE_PARITY      AVR32_USART_MR_PAR_SPACE  //!< Use a space as parity bit.
#define USART_MARK_PARITY       AVR32_USART_MR_PAR_MARK   //!< Use a mark as parity bit.
#define USART_NO_PARITY         AVR32_USART_MR_PAR_NONE   //!< Don't use a parity bit.
#define USART_MULTIDROP_PARITY  AVR32_USART_MR_PAR_MULTI  //!< Parity bit is used to flag address characters.
//! @}

/*! \name Operating Modes
 */
//! @{
#define USART_MODE_NORMAL       AVR32_USART_MR_MODE_NORMAL      //!< Normal RS232 mode.
#define USART_MODE_RS485        AVR32_USART_MR_MODE_RS485       //!< RS485 mode.
#define USART_MODE_HW_HSH       AVR32_USART_MR_MODE_HARDWARE    //!< RS232 mode with hardware handshaking.
#define USART_MODE_MODEM        AVR32_USART_MR_MODE_MODEM       //!< Modem mode.
#define USART_MODE_ISO7816_T0   AVR32_USART_MR_MODE_ISO7816_T0  //!< ISO7816, T = 0 mode.
#define USART_MODE_ISO7816_T1   AVR32_USART_MR_MODE_ISO7816_T1  //!< ISO7816, T = 1 mode.
#define USART_MODE_IRDA         AVR32_USART_MR_MODE_IRDA        //!< IrDA mode.
#define USART_MODE_SW_HSH       AVR32_USART_MR_MODE_SOFTWARE    //!< RS232 mode with software handshaking.
//! @}

/*! \name Channel Modes
 */
//! @{
#define USART_NORMAL_CHMODE     AVR32_USART_MR_CHMODE_NORMAL      //!< Normal communication.
#define USART_AUTO_ECHO         AVR32_USART_MR_CHMODE_ECHO        //!< Echo data.
#define USART_LOCAL_LOOPBACK    AVR32_USART_MR_CHMODE_LOCAL_LOOP  //!< Local loopback.
#define USART_REMOTE_LOOPBACK   AVR32_USART_MR_CHMODE_REMOTE_LOOP //!< Remote loopback.
//! @}

/*! \name Stop Bits Settings
 */
//! @{
#define USART_1_STOPBIT         AVR32_USART_MR_NBSTOP_1   //!< Use 1 stop bit.
#define USART_1_5_STOPBITS      AVR32_USART_MR_NBSTOP_1_5 //!< Use 1.5 stop bits.
#define USART_2_STOPBITS        AVR32_USART_MR_NBSTOP_2   //!< Use 2 stop bits (for more, just give the number of bits).
//! @}


//! Input parameters when initializing RS232 and similar modes.
typedef struct
{
  //! Set baudrate of the USART.
  unsigned long baudrate;

  //! Number of bits to transmit as a character (5 to 9).
  unsigned char charlength;

  //! How to calculate the parity bit: \ref USART_EVEN_PARITY, \ref USART_ODD_PARITY,
  //! \ref USART_SPACE_PARITY, \ref USART_MARK_PARITY, \ref USART_NO_PARITY or
  //! \ref USART_MULTIDROP_PARITY.
  unsigned char paritytype;

  //! Number of stop bits between two characters: \ref USART_1_STOPBIT,
  //! \ref USART_1_5_STOPBITS, \ref USART_2_STOPBITS or any number from 3 to 257
  //! which will result in a time guard period of that length between characters.
  unsigned short stopbits;

  //! Run the channel in testmode: \ref USART_NORMAL_CHMODE, \ref USART_AUTO_ECHO,
  //! \ref USART_LOCAL_LOOPBACK or \ref USART_REMOTE_LOOPBACK.
  unsigned char channelmode;
} usart_options_t;

//! Input parameters when initializing ISO7816 modes.
typedef struct
{
  //! Set the frequency of the ISO7816 clock.
  unsigned long iso7816_hz;

  //! The number of ISO7816 clock ticks in every bit period (1 to 2047, 0 = disable clock).
  //! Bit rate = \ref iso7816_hz / \ref fidi_ratio.
  unsigned short fidi_ratio;

  //! Inhibit Non Acknowledge:\n
  //!   - 0: the NACK is generated;\n
  //!   - 1: the NACK is not generated.
  //!
  //! \note This bit will be used only in ISO7816 mode, protocol T = 0 receiver.
  int inhibit_nack;

  //! Disable successive NACKs.
  //! Successive parity errors are counted up to the value in the \ref max_iterations field.
  //! These parity errors generate a NACK on the ISO line. As soon as this value is reached,
  //! no addititional NACK is sent on the ISO line. The ITERATION flag is asserted.
  int dis_suc_nack;

  //! Max number of repetitions (0 to 7).
  unsigned char max_iterations;

  //! Bit order in transmitted characters:\n
  //!   - 0: LSB first;\n
  //!   - 1: MSB first.
  int bit_order;
} iso7816_options_t;


//------------------------------------------------------------------------------
/*! \name Initialization Functions
 */
//! @{

/*! \brief Resets the USART and disables TX and RX.
 *
 * \param usart Base address of the USART instance.
 */
extern void usart_reset(volatile avr32_usart_t *usart);

/*! \brief Sets up the USART to use the standard RS232 protocol.
 *
 * \param usart   Base address of the USART instance.
 * \param opt     Options needed to set up RS232 communication (see \ref usart_options_t).
 * \param pba_hz  USART module input clock frequency (PBA clock, Hz).
 *
 * \retval USART_SUCCESS        Mode successfully initialized.
 * \retval USART_INVALID_INPUT  One or more of the arguments is out of valid range.
 */
extern int usart_init_rs232(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz);

/*! \brief Sets up the USART to use hardware handshaking.
 *
 * \param usart   Base address of the USART instance.
 * \param opt     Options needed to set up RS232 communication (see \ref usart_options_t).
 * \param pba_hz  USART module input clock frequency (PBA clock, Hz).
 *
 * \retval USART_SUCCESS        Mode successfully initialized.
 * \retval USART_INVALID_INPUT  One or more of the arguments is out of valid range.
 *
 * \note \ref usart_init_rs232 does not need to be invoked before this function.
 */
extern int usart_init_hw_handshaking(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz);

/*! \brief Sets up the USART to use the IrDA protocol.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品视频在线免费观看| 91同城在线观看| 亚洲自拍都市欧美小说| 国产精品乱码一区二区三区软件| 6080日韩午夜伦伦午夜伦| 日本道精品一区二区三区| 99国内精品久久| 99视频一区二区| 成人美女视频在线观看18| 粉嫩欧美一区二区三区高清影视| 国产在线国偷精品免费看| 久久成人久久鬼色| 国产综合色产在线精品| 国产激情视频一区二区三区欧美 | 国产精品无遮挡| 国产精品天天看| 一区二区免费看| 日韩精品亚洲一区| 激情亚洲综合在线| 国产高清成人在线| 色先锋aa成人| 在线电影一区二区三区| 91精品国产免费| 欧美激情一区二区三区全黄| 亚洲精品视频在线观看免费| 午夜精品免费在线| 老汉av免费一区二区三区| 国产成a人亚洲| 欧美亚洲国产一卡| 欧美电视剧在线看免费| 国产精品免费aⅴ片在线观看| 日韩毛片在线免费观看| 三级精品在线观看| 粉嫩久久99精品久久久久久夜| 91久久精品一区二区三区| 日韩欧美黄色影院| 国产精品久久毛片| 日本午夜一本久久久综合| 国产精品69毛片高清亚洲| 欧洲国内综合视频| 久久午夜色播影院免费高清| 亚洲丝袜制服诱惑| 老司机免费视频一区二区三区| 成人精品国产免费网站| 欧美人体做爰大胆视频| 久久久777精品电影网影网| 亚洲女女做受ⅹxx高潮| 精品一区二区国语对白| 色综合久久综合| 久久麻豆一区二区| 日本美女一区二区三区| 在线观看亚洲专区| 国产欧美一区二区精品婷婷| 亚洲综合视频在线| 国产传媒日韩欧美成人| 91精品国产色综合久久ai换脸 | 日韩欧美高清在线| 亚洲午夜久久久久久久久久久| 国产成人免费在线| 精品国精品国产尤物美女| 亚洲亚洲人成综合网络| 成人精品在线视频观看| 亚洲精品一线二线三线无人区| 亚洲妇熟xx妇色黄| 97久久精品人人澡人人爽| 国产欧美视频一区二区| 国产综合久久久久久鬼色| 日韩一区二区免费在线观看| 亚洲成人你懂的| 欧美四级电影网| 亚洲高清不卡在线| 欧美日本一道本| 五月综合激情婷婷六月色窝| 91久久人澡人人添人人爽欧美 | 欧美三级电影网| 亚洲综合自拍偷拍| 91久久免费观看| 亚洲一区中文在线| 一本高清dvd不卡在线观看| 国产精品三级视频| 成人av高清在线| 国产精品久久久久久久午夜片| 懂色av一区二区三区免费观看| 久久久久久免费| 国产福利精品一区| 国产亚洲短视频| av中文一区二区三区| 1区2区3区国产精品| 97成人超碰视| 亚洲一二三四在线观看| 欧美日韩黄色一区二区| 日韩—二三区免费观看av| 日韩亚洲欧美成人一区| 精久久久久久久久久久| 国产无人区一区二区三区| 成人亚洲精品久久久久软件| 亚洲欧美日韩一区二区| 欧美日韩亚洲综合一区| 久久精品国产澳门| 国产精品麻豆久久久| 在线精品视频小说1| 蜜臀av在线播放一区二区三区| 精品国产一区二区三区四区四| 国产一区二区三区日韩| 中文无字幕一区二区三区| 色呦呦网站一区| 日韩**一区毛片| 国产精品理论片| 欧美日韩国产123区| 国产很黄免费观看久久| 亚洲综合在线视频| 精品福利二区三区| 91精品1区2区| 韩日欧美一区二区三区| 亚洲免费观看高清完整版在线| 欧美一区二区三区四区久久| 国产**成人网毛片九色| 亚洲福利一二三区| 国产午夜精品在线观看| 欧美午夜寂寞影院| 盗摄精品av一区二区三区| 五月天亚洲婷婷| 国产精品理论在线观看| 欧美一级一区二区| 色94色欧美sute亚洲线路二| 国产一区二区三区免费| 亚洲国产成人av| 国产精品国产三级国产三级人妇| 欧美日韩夫妻久久| 99热在这里有精品免费| 精品亚洲成av人在线观看| 亚洲综合在线电影| 国产精品国产a| 亚洲精品一区二区三区精华液 | 成人综合婷婷国产精品久久蜜臀 | eeuss鲁片一区二区三区| 琪琪久久久久日韩精品| 一区二区三区四区高清精品免费观看| 91精品国产综合久久久久久漫画| 91污在线观看| 国产成人在线视频网站| 韩国午夜理伦三级不卡影院| 亚洲成a人v欧美综合天堂| 中文字幕亚洲一区二区av在线| 久久女同精品一区二区| 欧美成人a在线| 7777精品伊人久久久大香线蕉超级流畅 | 色综合天天天天做夜夜夜夜做| 黑人巨大精品欧美一区| 久久精品国产精品青草| 六月丁香综合在线视频| 午夜视频一区二区| 夜夜嗨av一区二区三区中文字幕| 国产精品美女久久久久aⅴ| 国产亚洲欧美色| 久久免费偷拍视频| 国产亚洲制服色| 26uuu精品一区二区| 精品国产污污免费网站入口 | 欧美国产一区二区在线观看| 精品国精品自拍自在线| 精品成人免费观看| 2019国产精品| 国产无遮挡一区二区三区毛片日本| 亚洲精品一区二区三区在线观看| 日韩精品专区在线影院观看| 7777精品伊人久久久大香线蕉超级流畅 | 久久久久一区二区三区四区| 久久蜜桃一区二区| 国产亚洲污的网站| 亚洲人成网站影音先锋播放| 综合久久久久综合| 香蕉av福利精品导航| 日韩电影在线一区二区| 日本不卡一区二区三区| 激情综合网激情| 99久久精品99国产精品| 在线观看日韩一区| 日韩欧美视频一区| 国产拍欧美日韩视频二区| 亚洲女人小视频在线观看| 视频一区二区三区中文字幕| 麻豆成人av在线| 波多野结衣在线aⅴ中文字幕不卡| av在线免费不卡| 欧美一区二区私人影院日本| 久久久精品国产免大香伊| 亚洲六月丁香色婷婷综合久久| 视频一区免费在线观看| 国产精品亚洲一区二区三区在线 | 在线成人小视频| 久久久久久综合| 亚洲伊人色欲综合网| 国产做a爰片久久毛片| 在线精品视频免费观看| 精品福利二区三区| 偷拍一区二区三区四区| 国产成人精品aa毛片| 91精品国产综合久久久久久久| 国产精品日韩精品欧美在线|