亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
99久久婷婷国产综合精品| 欧美国产乱子伦| 欧美国产乱子伦| 欧美aaaaaa午夜精品| 91美女蜜桃在线| 国产亚洲自拍一区| 三级精品在线观看| 91玉足脚交白嫩脚丫在线播放| 精品福利一二区| 日本视频中文字幕一区二区三区| jlzzjlzz亚洲女人18| 久久综合精品国产一区二区三区 | 久久综合狠狠综合久久综合88| 亚洲乱码国产乱码精品精的特点 | 亚洲成年人网站在线观看| 国产乱一区二区| 欧美tk—视频vk| 人人狠狠综合久久亚洲| 欧美伦理电影网| 亚洲一区二区3| 日本乱人伦aⅴ精品| 亚洲日本青草视频在线怡红院| 国产成人亚洲综合a∨婷婷图片| 久久丝袜美腿综合| 国产在线精品国自产拍免费| 精品国内片67194| 色av一区二区| 综合久久久久久| 91麻豆国产精品久久| 成人欧美一区二区三区黑人麻豆 | 久久99最新地址| 欧美大片一区二区| 久久国产欧美日韩精品| 91精品国产欧美一区二区| 日本中文字幕一区| 日韩免费一区二区三区在线播放| 午夜av区久久| 精品国产伦一区二区三区免费 | 精品少妇一区二区三区免费观看 | 日韩一区二区三区免费看| 三级一区在线视频先锋 | 91久久精品一区二区| 亚洲麻豆国产自偷在线| 色悠悠久久综合| 丝袜诱惑亚洲看片| 精品久久五月天| 国产成人aaaa| 亚洲手机成人高清视频| 欧美午夜精品一区二区蜜桃| 日本最新不卡在线| 久久久久国产精品麻豆ai换脸 | 3atv在线一区二区三区| 久久国产欧美日韩精品| 国产精品午夜电影| 欧美在线一区二区| 久久国产三级精品| ●精品国产综合乱码久久久久 | 不卡av电影在线播放| 亚洲图片自拍偷拍| 欧美videos中文字幕| 国产乱人伦偷精品视频不卡| 国产精品福利一区| 欧美一级片在线| 懂色av噜噜一区二区三区av| 亚洲精品高清在线观看| 欧美一区二区日韩| 成人国产在线观看| 麻豆久久久久久| 亚洲图片你懂的| 亚洲在线视频一区| 久久这里都是精品| 欧美影院一区二区| 成人激情校园春色| 日韩主播视频在线| 亚洲欧美成人一区二区三区| 欧美一区二区美女| 色八戒一区二区三区| 国产成人午夜高潮毛片| 午夜精品影院在线观看| 国产精品色一区二区三区| 日韩一区二区免费高清| 91免费观看国产| 国产综合久久久久久久久久久久| 一区二区国产盗摄色噜噜| 久久久久成人黄色影片| 欧美色爱综合网| 99国产欧美另类久久久精品| 韩国成人福利片在线播放| 性做久久久久久免费观看| ㊣最新国产の精品bt伙计久久| 精品国产露脸精彩对白| 欧美三级蜜桃2在线观看| 99在线精品观看| 国产精品69毛片高清亚洲| 男人的天堂亚洲一区| 亚洲午夜精品在线| 国产精品区一区二区三| 国产亚洲精品久| 精品国产99国产精品| 日韩一区国产二区欧美三区| 欧美色涩在线第一页| 91啪亚洲精品| av一区二区三区四区| 成人在线综合网| 国产精品一区在线观看你懂的| 日本人妖一区二区| 日韩av电影免费观看高清完整版在线观看| 亚洲人被黑人高潮完整版| 国产精品理伦片| 国产精品久久国产精麻豆99网站| 久久精品在线观看| 欧美国产精品v| 国产精品国产三级国产aⅴ原创| 国产日韩欧美综合一区| 亚洲国产精品二十页| 欧美国产精品一区二区| 亚洲欧美综合色| 日韩伦理电影网| 亚洲午夜视频在线| 日韩电影在线免费观看| 久久99日本精品| 国产91在线观看| 91丝袜国产在线播放| 欧美色倩网站大全免费| 91麻豆精品国产综合久久久久久| 欧美一区午夜视频在线观看| 欧美一区二区三区日韩视频| 久久天堂av综合合色蜜桃网| 国产精品乱码一区二区三区软件| 国产精品久久久久一区二区三区 | 亚洲一区二区视频在线观看| 亚洲电影中文字幕在线观看| 日韩精品电影在线观看| 久久99深爱久久99精品| 国产91精品入口| 色妞www精品视频| 51久久夜色精品国产麻豆| 久久久青草青青国产亚洲免观| 国产精品亲子伦对白| 亚洲午夜一区二区三区| 韩国女主播一区| 91热门视频在线观看| 欧美精品777| 国产精品人妖ts系列视频| 亚洲超碰97人人做人人爱| 久久97超碰国产精品超碰| 福利电影一区二区| 欧美性生活久久| 欧美国产一区在线| 天堂一区二区在线| 岛国av在线一区| 51精品秘密在线观看| 国产精品精品国产色婷婷| 日韩精品色哟哟| fc2成人免费人成在线观看播放| 欧美精品v国产精品v日韩精品| 国产农村妇女毛片精品久久麻豆| 亚洲第一福利一区| 国产不卡一区视频| 欧美一区二区三区色| 一区二区三区中文字幕电影| 国产美女久久久久| 欧美精品一卡两卡| 亚洲欧美一区二区三区极速播放| 美女一区二区在线观看| 91日韩精品一区| 久久久久国产精品厨房| 天堂成人免费av电影一区| 99免费精品在线观看| 欧美电影免费提供在线观看| 亚洲精品日产精品乱码不卡| 国产裸体歌舞团一区二区| 在线不卡a资源高清| 一区二区成人在线视频 | 国产精品小仙女| 日韩欧美一区在线| 一区二区视频免费在线观看| 国产91精品一区二区| www久久精品| 久久精品国产久精国产爱| 欧美日韩精品欧美日韩精品一 | 蜜桃久久精品一区二区| 在线观看一区二区精品视频| 中文字幕欧美激情一区| 国产乱码一区二区三区| 2欧美一区二区三区在线观看视频| 亚洲aaa精品| 欧美日韩一区二区不卡| 夜色激情一区二区| 91蝌蚪国产九色| 日韩美女啊v在线免费观看| 成人一区二区三区视频在线观看| 久久综合九色综合97婷婷女人| 久久精品国产999大香线蕉| 911精品国产一区二区在线| 五月婷婷欧美视频| 91麻豆精品国产自产在线| 日韩高清不卡一区二区| 日韩手机在线导航| 国产一区二区三区在线观看免费视频|