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

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

?? usart.h

?? FreeRTOS is a portable, open source, mini Real Time Kernel - a free to download and royalty free RTO
?? 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 and FAQ: http://support.atmel.no/
 *
 ******************************************************************************/

/* 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_

#include <avr32/io.h>
#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;

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

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

  //! 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;  
  
  //! Which SPI mode to use when transmitting.
  unsigned char spimode;
} usart_spi_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.
 *
 * \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).
 * \param irda_filter Counter used to distinguish received ones from zeros.
 *
 * \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_IrDA(volatile avr32_usart_t *usart, const usart_options_t *opt,
                           long pba_hz, unsigned char irda_filter);

/*! \brief Sets up the USART to use the modem protocol, activating dedicated inputs/outputs.
 *

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
综合婷婷亚洲小说| 日韩女优制服丝袜电影| 国产在线国偷精品产拍免费yy| 一区二区三区四区国产精品| 国产精品成人免费精品自在线观看| 久久欧美一区二区| 国产视频一区在线播放| 中文字幕欧美区| 国产精品美女久久久久aⅴ| 久久精品亚洲精品国产欧美kt∨| 26uuuu精品一区二区| 久久九九久久九九| 国产精品久久久久久亚洲毛片 | 一区二区三区在线观看国产| 亚洲视频一区二区在线观看| 亚洲美女视频在线观看| 一区二区三区四区不卡在线| 一区二区三区美女| 日日夜夜精品视频免费| 黄色精品一二区| 成人午夜大片免费观看| 色综合激情久久| 欧美一级在线免费| 久久精品在线观看| 亚洲激情av在线| 日韩电影免费在线| 国产精品99精品久久免费| 成人激情图片网| 欧洲视频一区二区| 欧美tickling网站挠脚心| 日韩欧美国产不卡| 国产精品国产自产拍高清av| 亚洲人成网站色在线观看| 日韩经典一区二区| 成人久久视频在线观看| 91久久人澡人人添人人爽欧美| 欧美三电影在线| 国产婷婷精品av在线| 亚洲主播在线播放| 国产精品99久久久久久有的能看| 一本一本大道香蕉久在线精品| 国产婷婷色一区二区三区在线| 18欧美亚洲精品| 久久激情综合网| 色综合 综合色| www精品美女久久久tv| 一区二区三区四区蜜桃| 国产一区福利在线| 欧美在线观看一二区| 精品福利一区二区三区| 亚洲综合无码一区二区| 国产91高潮流白浆在线麻豆| 在线观看91av| 中文字幕一区二区在线播放| 久久激情五月激情| 欧美福利视频一区| 有码一区二区三区| 高清视频一区二区| 久久美女艺术照精彩视频福利播放| 亚洲一区二区在线免费观看视频| 国产精品影视在线观看| 日韩欧美一二区| 日韩黄色免费网站| 欧美图片一区二区三区| 亚洲精品欧美专区| 99国产精品久| 国产精品国产精品国产专区不蜜 | 国产乱码字幕精品高清av| 欧美日韩在线电影| 洋洋av久久久久久久一区| 成人av动漫在线| 久久久精品国产免费观看同学| 免费成人在线视频观看| 91精品国产入口在线| 亚洲二区在线观看| 欧美人成免费网站| 日韩1区2区日韩1区2区| 制服丝袜激情欧洲亚洲| 天堂影院一区二区| 欧美一区二区三区在线| 免费人成精品欧美精品| 欧美成人女星排名| 国产精品影视在线| 亚洲成人先锋电影| 欧美午夜精品免费| 日韩精品电影在线观看| 日韩一区二区在线观看视频播放| 视频在线观看91| 日韩欧美亚洲国产精品字幕久久久| 亚洲国产美女搞黄色| 欧美精品一二三区| 久久精品国产在热久久| 久久伊人中文字幕| 不卡在线观看av| 亚洲午夜精品网| 日韩一级片在线观看| 国产又黄又大久久| 亚洲视频资源在线| 欧美乱熟臀69xxxxxx| 免费三级欧美电影| 国产欧美日本一区视频| 91麻豆精品在线观看| 婷婷开心久久网| 久久日韩粉嫩一区二区三区 | 亚洲欧洲制服丝袜| 6080国产精品一区二区| 毛片基地黄久久久久久天堂| 国产喂奶挤奶一区二区三区| 99国产精品久久久久久久久久| 亚洲成人在线免费| 国产欧美日韩综合精品一区二区| 99久久国产免费看| 日本成人在线不卡视频| 国产人伦精品一区二区| 欧美日韩免费观看一区三区| 国产综合久久久久影院| 亚洲精品你懂的| 久久一区二区三区四区| 欧洲一区二区av| 国产99久久久精品| 秋霞成人午夜伦在线观看| 中文字幕视频一区| 精品国产乱码久久久久久久| 欧美在线制服丝袜| 成人深夜在线观看| 免费观看成人鲁鲁鲁鲁鲁视频| 《视频一区视频二区| 精品国产凹凸成av人网站| 欧美日韩色一区| 91在线视频免费91| 国产成人av电影在线| 蜜桃一区二区三区在线| 亚洲一区精品在线| 亚洲人成在线播放网站岛国| 国产视频911| 精品国产乱码久久久久久夜甘婷婷 | 中文字幕+乱码+中文字幕一区| 在线综合视频播放| 欧美中文字幕一二三区视频| 国产成人夜色高潮福利影视| 久久国产尿小便嘘嘘尿| 午夜精品久久久久久久99水蜜桃| 最新欧美精品一区二区三区| 久久精品视频网| 久久久久久久久99精品| 欧美成人三级电影在线| 91精品国产综合久久福利软件| 欧美日韩免费观看一区二区三区 | 国产精品一区免费视频| 天天亚洲美女在线视频| 一卡二卡欧美日韩| 一区二区三区小说| 亚洲美女屁股眼交| ...xxx性欧美| 亚洲免费高清视频在线| 亚洲欧美成人一区二区三区| 日韩一区日韩二区| 亚洲免费在线观看| 亚洲精品美国一| 夜夜嗨av一区二区三区网页 | 欧美色窝79yyyycom| 91久久精品午夜一区二区| 在线看国产一区| 欧美日韩国产经典色站一区二区三区 | 国内精品自线一区二区三区视频| 久久国产视频网| 国产精品18久久久久久vr | 国产情人综合久久777777| 久久免费美女视频| 日本一区二区三区国色天香 | 日日骚欧美日韩| 看电视剧不卡顿的网站| 国产精品一区二区久久不卡| 成人免费福利片| 色嗨嗨av一区二区三区| 欧美日韩成人综合天天影院 | 国产精品亚洲一区二区三区妖精| 国产不卡视频一区| 在线观看中文字幕不卡| 日韩一区二区精品葵司在线| 久久这里只精品最新地址| 久久99热这里只有精品| 国产成人午夜99999| 色综合天天综合在线视频| 欧美人妖巨大在线| 国产精品日韩精品欧美在线| 亚洲综合免费观看高清完整版在线| 日韩电影免费一区| 成人免费看的视频| 欧美一区二区三区在线电影| 亚洲国产精品黑人久久久| 一区二区三区日本| 国内精品伊人久久久久av一坑| 色噜噜狠狠一区二区三区果冻| 欧美一区二区日韩| 国产精品久久777777| 久久国产生活片100| 欧美写真视频网站| 日本一区二区动态图| 美女视频黄频大全不卡视频在线播放|