亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
不卡一区二区在线| 成熟亚洲日本毛茸茸凸凹| 国产精品网站在线观看| 久久久亚洲精品一区二区三区 | 中文字幕欧美日本乱码一线二线| 91精品国产欧美一区二区18| 欧美一区二区三区喷汁尤物| 日韩一区二区三区av| 欧美一个色资源| 精品国产亚洲在线| 久久精品日韩一区二区三区| 久久蜜桃一区二区| 久久久久久久性| 久久久精品tv| 136国产福利精品导航| 亚洲综合色噜噜狠狠| 亚洲午夜电影网| 捆绑紧缚一区二区三区视频| 国内精品免费**视频| 国产aⅴ综合色| av在线播放一区二区三区| 9色porny自拍视频一区二区| 91九色最新地址| 欧美一级日韩一级| 欧美激情综合在线| 亚洲一区在线免费观看| 青娱乐精品视频在线| 国产成人av资源| 在线免费观看视频一区| 精品久久久久香蕉网| 国产精品理伦片| 日本亚洲三级在线| www.av精品| 91麻豆精品国产91久久久久| 久久精品视频一区二区| 亚洲高清在线视频| 粉嫩绯色av一区二区在线观看| 99精品视频一区| 日韩一区二区三| 亚洲精品成人悠悠色影视| 卡一卡二国产精品 | 久久精品视频网| 亚洲制服丝袜一区| 国产精品99久久久久久久女警| 91视频91自| 久久综合久久鬼色| 亚洲国产成人高清精品| 成人av免费网站| 精品伦理精品一区| 亚洲不卡av一区二区三区| 国产成人av电影在线观看| 欧美美女喷水视频| 亚洲免费在线视频| 高清不卡在线观看av| 日韩精品一区二区三区在线播放 | 欧美亚洲禁片免费| 久久免费电影网| 蜜桃av一区二区三区| 色成年激情久久综合| 亚洲国产激情av| 国产成人在线观看免费网站| 日韩欧美的一区二区| 午夜精彩视频在线观看不卡| 91久久人澡人人添人人爽欧美| 国产精品久久精品日日| 国产精品影音先锋| 精品电影一区二区三区| 天天av天天翘天天综合网色鬼国产| 91在线视频18| 中文字幕一区二区三区精华液| 国产精品18久久久久久久久| 精品国产乱码久久久久久图片 | 欧美a级理论片| 欧美人xxxx| 日本成人在线视频网站| 欧美日韩第一区日日骚| 天天操天天综合网| 91精品国产综合久久精品性色 | 极品少妇一区二区三区精品视频 | 国产欧美一区二区精品婷婷| 久久99久久久欧美国产| 精品少妇一区二区三区免费观看| 天堂一区二区在线免费观看| 欧美日韩小视频| 亚洲3atv精品一区二区三区| 在线电影院国产精品| 午夜精品福利一区二区三区蜜桃| 欧美日韩国产综合视频在线观看| 日韩成人免费在线| 精品粉嫩aⅴ一区二区三区四区| 国产一区二区三区在线观看免费| 久久青草国产手机看片福利盒子| 成人亚洲一区二区一| 亚洲人成在线观看一区二区| 欧美色图在线观看| 蜜桃精品视频在线| 国产精品丝袜91| 欧美日韩精品一区视频| 极品尤物av久久免费看| 中文字幕日韩av资源站| 欧美日韩国产一级二级| 精品一区二区免费视频| 亚洲欧洲另类国产综合| 欧美日韩一区 二区 三区 久久精品| 三级亚洲高清视频| 中文字幕第一区综合| 欧美三级中文字| 国产揄拍国内精品对白| 中文字幕一区二区三区色视频| 欧美疯狂性受xxxxx喷水图片| 老司机免费视频一区二区三区| 国产精品盗摄一区二区三区| 337p亚洲精品色噜噜| 成人精品国产福利| 日韩av一二三| 1024成人网色www| 日韩免费视频一区| 在线观看日韩电影| 国产福利91精品一区| 日韩在线卡一卡二| 自拍av一区二区三区| 欧美大尺度电影在线| 在线视频国产一区| gogo大胆日本视频一区| 秋霞电影网一区二区| 一个色在线综合| 国产精品网站导航| 久久久久久99精品| 日韩精品专区在线| 欧美在线free| av在线不卡电影| 国产不卡视频一区二区三区| 麻豆国产91在线播放| 亚洲国产成人av| 一个色在线综合| 一区二区三区四区中文字幕| 国产精品看片你懂得| 国产农村妇女毛片精品久久麻豆| 4hu四虎永久在线影院成人| 91久久精品国产91性色tv | 亚洲一二三专区| 亚洲视频 欧洲视频| 中文字幕av一区二区三区免费看| 久久影院视频免费| 日韩精品一区二区三区视频在线观看| 欧美午夜视频网站| 欧美色图在线观看| 欧美日韩精品久久久| 在线电影院国产精品| 欧美日韩精品一区二区| 欧美日本视频在线| 91精品欧美福利在线观看| 欧美日韩国产免费一区二区 | 国产激情视频一区二区三区欧美 | 成熟亚洲日本毛茸茸凸凹| 国产剧情av麻豆香蕉精品| 久久99精品久久久久婷婷| 久久国内精品视频| 国模娜娜一区二区三区| 国产不卡视频在线观看| 97久久精品人人做人人爽| 91丝袜美女网| 欧美视频日韩视频| 欧美成人三级在线| 久久精品视频免费观看| 亚洲曰韩产成在线| 夜夜揉揉日日人人青青一国产精品 | 91超碰这里只有精品国产| 欧美日韩亚洲不卡| 日韩精品一区二区三区四区 | 亚洲乱码国产乱码精品精98午夜 | 婷婷国产在线综合| 青青草国产成人99久久| 国产在线一区观看| 成人午夜电影久久影院| 欧美在线你懂的| 欧美r级电影在线观看| 久久久精品人体av艺术| 亚洲人成人一区二区在线观看| 亚洲成人你懂的| 国产美女精品一区二区三区| 丰满亚洲少妇av| 欧美少妇bbb| 国产欧美一区二区精品婷婷 | 婷婷夜色潮精品综合在线| 老司机午夜精品| 91亚洲精华国产精华精华液| 欧美日韩中文精品| 亚洲精品一区二区三区香蕉| 中文字幕日韩一区| 久久精品久久久精品美女| 99国产欧美另类久久久精品| 欧美无乱码久久久免费午夜一区| 欧美精品一区男女天堂| 一区二区高清视频在线观看| 国产精品主播直播| 欧美精品v日韩精品v韩国精品v| 日本一区二区三级电影在线观看 | 亚洲国产成人一区二区三区| 毛片av一区二区三区|