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

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

?? usart.h

?? FreeRTOS is a portable, open source, mini Real Time Kernel - a free to download and royalty free RTO
?? H
?? 第 1 頁 / 共 2 頁
字號:
 * \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_modem(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz);

/*! \brief Sets up the USART to use the RS485 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_rs485(volatile avr32_usart_t *usart, const usart_options_t *opt, long pba_hz);

/*! \brief Sets up the USART to use the ISO7816 T=0 or T=1 smartcard protocols.
 *
 * \param usart   Base address of the USART instance.
 * \param opt     Options needed to set up ISO7816 communication (see \ref iso7816_options_t).
 * \param t       ISO7816 mode to use (T=0 or T=1).
 * \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_iso7816(volatile avr32_usart_t *usart, const iso7816_options_t *opt, int t, long pba_hz);

/*! \brief Sets up the USART to use the SPI mode as master.
 *
 * \param usart   Base address of the USART instance.
 * \param opt     Options needed to set up SPI mode (see \ref usart_spi_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_spi_master(volatile avr32_usart_t *usart, const usart_spi_options_t *opt, long pba_hz);


/*! \brief Sets up the USART to use the SPI mode as slave.
 *
 * \param usart   Base address of the USART instance.
 * \param opt     Options needed to set up SPI mode (see \ref usart_spi_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_spi_slave(volatile avr32_usart_t *usart, const usart_spi_options_t *opt, long pba_hz);

//! @}

//------------------------------------------------------------------------------
/*! \brief Selects slave chip.
 *
 * \param usart   Base address of the USART instance.
 *
 * \return Status.
 *   \retval USART_SUCCESS             Success.
 */
extern int usart_spi_selectChip(volatile avr32_usart_t *usart);

/*! \brief Unselects slave chip.
 *
 * \param usart   Base address of the USART instance.
 *
 * \return Status.
 *   \retval USART_SUCCESS             Success.
 *   \retval USART_FAILURE             Time out.
 */
extern int usart_spi_unselectChip(volatile avr32_usart_t *usart);

//------------------------------------------------------------------------------
/*! \name Read and Reset Error Status Bits
 */
//! @{

/*! \brief Resets the error status.
 *
 * This function resets the status bits indicating that a parity error,
 * framing error or overrun has occurred. The RXBRK bit, indicating
 * a start/end of break condition on the RX line, is also reset.
 *
 * \param usart Base address of the USART instance.
 */
#if __GNUC__
__attribute__((__always_inline__))
#endif
extern __inline__ void usart_reset_status(volatile avr32_usart_t *usart)
{
  usart->cr |= AVR32_USART_CR_RSTSTA_MASK;
}

/*! \brief Checks if a parity error has occurred since last status reset.
 *
 * \param usart Base address of the USART instance.
 *
 * \return \c 1 if a parity error has been detected, otherwise \c 0.
 */
#if __GNUC__
__attribute__((__always_inline__))
#endif
extern __inline__ int usart_parity_error(volatile avr32_usart_t *usart)
{
  return (usart->csr & AVR32_USART_CSR_PARE_MASK) != 0;
}

/*! \brief Checks if a framing error has occurred since last status reset.
 *
 * \param usart Base address of the USART instance.
 *
 * \return \c 1 if a framing error has been detected, otherwise \c 0.
 */
#if __GNUC__
__attribute__((__always_inline__))
#endif
extern __inline__ int usart_framing_error(volatile avr32_usart_t *usart)
{
  return (usart->csr & AVR32_USART_CSR_FRAME_MASK) != 0;
}

/*! \brief Checks if an overrun error has occurred since last status reset.
 *
 * \param usart Base address of the USART instance.
 *
 * \return \c 1 if a overrun error has been detected, otherwise \c 0.
 */
#if __GNUC__
__attribute__((__always_inline__))
#endif
extern __inline__ int usart_overrun_error(volatile avr32_usart_t *usart)
{
  return (usart->csr & AVR32_USART_CSR_OVRE_MASK) != 0;
}

//! @}


//------------------------------------------------------------------------------
/*! \name Transmit/Receive Functions
 */
//! @{

/*! \brief Addresses a receiver.
 *
 * While in RS485 mode, receivers only accept data addressed to them.
 * A packet/char with the address tag set has to precede any data.
 * This function is used to address a receiver. This receiver should read
 * all the following data, until an address packet addresses another receiver.
 *
 * \param usart   Base address of the USART instance.
 * \param address Address of the target device.
 *
 * \retval USART_SUCCESS    Address successfully sent (if current mode is RS485).
 * \retval USART_MODE_FAULT Wrong operating mode.
 */
extern int usart_send_address(volatile avr32_usart_t *usart, int address);

/*! \brief Writes the given character to the TX buffer if the transmitter is ready.
 *
 * \param usart Base address of the USART instance.
 * \param c     The character (up to 9 bits) to transmit.
 *
 * \retval USART_SUCCESS  The transmitter was ready.
 * \retval USART_TX_BUSY  The transmitter was busy.
 */
extern int usart_write_char(volatile avr32_usart_t *usart, int c);

/*! \brief An active wait writing a character to the USART.
 *
 * \param usart Base address of the USART instance.
 * \param c     The character (up to 9 bits) to transmit.
 */
#if __GNUC__
__attribute__((__always_inline__))
#endif
extern __inline__ void usart_bw_write_char(volatile avr32_usart_t *usart, int c)
{
  while (usart_write_char(usart, c) != USART_SUCCESS);
}

/*! \brief Sends a character with the USART.
 *
 * \param usart Base address of the USART instance.
 * \param c     Character to write.
 *
 * \retval USART_SUCCESS  The character was written.
 * \retval USART_FAILURE  The function timed out before the USART transmitter became ready to send.
 */
extern int usart_putchar(volatile avr32_usart_t *usart, int c);

/*! \brief Checks the RX buffer for a received character, and stores it at the
 *         given memory location.
 *
 * \param usart Base address of the USART instance.
 * \param c     Pointer to the where the read character should be stored
 *              (must be at least short in order to accept 9-bit characters).
 *
 * \retval USART_SUCCESS  The character was read successfully.
 * \retval USART_RX_EMPTY The RX buffer was empty.
 * \retval USART_RX_ERROR An error was deteceted.
 */
extern int usart_read_char(volatile avr32_usart_t *usart, int *c);

/*! \brief Waits until a character is received, and returns it.
 *
 * \param usart Base address of the USART instance.
 *
 * \return The received character, or \ref USART_FAILURE upon error.
 */
extern int usart_getchar(volatile avr32_usart_t *usart);

/*! \brief Writes one character string to the USART.
 *
 * \param usart   Base address of the USART instance.
 * \param string  String to be written.
 */
extern void usart_write_line(volatile avr32_usart_t *usart, const char *string);

/*! \brief Gets and echoes characters until end of line.
 *
 * \param usart Base address of the USART instance.
 *
 * \retval USART_SUCCESS  Success.
 * \retval USART_FAILURE  ETX character received.
 */
extern int usart_get_echo_line(volatile avr32_usart_t *usart);

//! @}


#endif  // _USART_H_

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆成人91精品二区三区| 欧美这里有精品| 国产一区二区免费视频| 美女爽到高潮91| 美女网站一区二区| 九九视频精品免费| 国产精品综合视频| 粉嫩av一区二区三区粉嫩| 亚洲欧洲成人自拍| 7878成人国产在线观看| 91丨porny丨国产入口| 91亚洲精品久久久蜜桃网站| 一本大道久久a久久综合婷婷| 91免费看`日韩一区二区| proumb性欧美在线观看| 色婷婷av久久久久久久| 在线免费一区三区| 在线成人av影院| 日韩精品一区二区三区在线播放| 2020国产精品| 国产精品午夜春色av| 一区二区成人在线视频| 日韩在线播放一区二区| 国产一区二区精品久久91| 蜜桃视频一区二区三区在线观看| 丝袜亚洲另类欧美综合| 精品夜夜嗨av一区二区三区| 国产成人免费在线视频| 色偷偷88欧美精品久久久| 欧美老女人在线| 国产亚洲自拍一区| 一区二区三区不卡在线观看| 视频一区二区三区在线| 国产乱码精品一区二区三区忘忧草| 成人18视频日本| 欧美日韩国产精品成人| 精品国产1区2区3区| 中文字幕中文字幕在线一区| 天堂蜜桃91精品| 成人综合在线网站| 欧美伦理影视网| 中文字幕免费不卡在线| 亚洲1区2区3区4区| 丁香天五香天堂综合| 欧美日韩一区视频| 国产日产欧美精品一区二区三区| 一区二区久久久久| 国产综合成人久久大片91| 色综合视频在线观看| 日韩三级在线观看| 亚洲乱码国产乱码精品精小说| 日韩国产欧美视频| 99久久久久免费精品国产 | 国产精品1区2区3区| 在线精品国精品国产尤物884a| 精品久久国产老人久久综合| 亚洲欧美日韩国产综合在线 | 欧美老肥妇做.爰bbww| 久久久www成人免费无遮挡大片| 伊人性伊人情综合网| 国产丶欧美丶日本不卡视频| 欧美高清性hdvideosex| 自拍偷拍欧美精品| 国产夫妻精品视频| 日韩欧美国产不卡| 午夜欧美大尺度福利影院在线看| 成人精品gif动图一区| 日韩一区二区三区高清免费看看 | 91在线观看下载| 精品久久久久一区| 午夜免费久久看| 色综合久久综合| 国产欧美精品区一区二区三区 | 成人深夜福利app| 日韩欧美的一区| 婷婷开心激情综合| 在线免费观看成人短视频| 欧美激情一区不卡| 国产精品一区二区三区网站| 91精品国产综合久久久蜜臀图片 | 国产精品香蕉一区二区三区| 91精品国产综合久久福利软件 | 国产在线视频不卡二| 69久久99精品久久久久婷婷 | 国产夫妻精品视频| 欧美大片国产精品| 日韩精品一二三四| 精品污污网站免费看| 亚洲美女在线国产| 91色.com| 亚洲欧美一区二区三区久本道91| 国产成人亚洲综合a∨婷婷| 久久一留热品黄| 激情六月婷婷综合| 精品国产露脸精彩对白| 精久久久久久久久久久| 精品久久久久久久久久久院品网 | 亚洲一区二区三区中文字幕| 91国模大尺度私拍在线视频| 亚洲图片另类小说| 色综合久久综合网97色综合| 日韩毛片视频在线看| 91色视频在线| 亚洲黄色片在线观看| 欧洲另类一二三四区| 亚洲一区在线观看免费观看电影高清| 色综合久久久久综合| 一区二区三区免费| 欧美在线观看一二区| 亚洲高清免费观看高清完整版在线观看| 色婷婷av一区二区| 五月综合激情日本mⅴ| 欧美猛男男办公室激情| 青青草91视频| 久久欧美一区二区| 粉嫩高潮美女一区二区三区| 中文字幕一区二区三区在线观看| 97se亚洲国产综合自在线| 日韩伦理av电影| 欧美日韩高清在线播放| 久久精品国产第一区二区三区| 精品精品国产高清a毛片牛牛| 国产乱子伦视频一区二区三区| 日本一区二区三区国色天香 | 久久久亚洲精品石原莉奈| 国产麻豆日韩欧美久久| 国产精品久久久久久久久免费樱桃| 91女人视频在线观看| 日韩精品电影在线观看| 欧美r级在线观看| 成人黄色软件下载| 午夜亚洲国产au精品一区二区| 日韩视频一区二区三区在线播放 | 久久久激情视频| av影院午夜一区| 婷婷开心激情综合| 国产亚洲人成网站| 91国偷自产一区二区使用方法| 日本在线不卡视频| 亚洲国产精品99久久久久久久久| 日本精品裸体写真集在线观看| 蜜桃av噜噜一区二区三区小说| 国产精品免费av| 欧美日韩一区二区三区在线| 久久疯狂做爰流白浆xx| 亚洲日本在线a| 欧美成人vr18sexvr| 97久久精品人人爽人人爽蜜臀| 日韩精品成人一区二区三区| 久久精品欧美一区二区三区不卡| 欧洲生活片亚洲生活在线观看| 精品影视av免费| 一区二区国产盗摄色噜噜| 亚洲精品一区二区三区影院| 色噜噜狠狠成人网p站| 精品一区二区在线免费观看| 亚洲欧美偷拍三级| 26uuu亚洲综合色| 欧美日本一区二区三区四区| 国产激情视频一区二区在线观看| 天堂va蜜桃一区二区三区 | 成人影视亚洲图片在线| 天堂久久久久va久久久久| 亚洲欧洲另类国产综合| 日韩精品在线一区二区| 欧美自拍偷拍午夜视频| 国产高清在线观看免费不卡| 日韩中文字幕麻豆| 亚洲欧美日韩国产手机在线| 精品99久久久久久| 欧美电影影音先锋| 91论坛在线播放| 国产99久久久国产精品免费看| 丝袜亚洲另类丝袜在线| 夜夜嗨av一区二区三区中文字幕 | 国产风韵犹存在线视精品| 日韩av午夜在线观看| 一区二区三区中文在线| 欧美国产日韩在线观看| 精品国产露脸精彩对白| 欧美一卡在线观看| 欧洲色大大久久| 色婷婷综合在线| 91丨九色丨蝌蚪富婆spa| 丁香网亚洲国际| 国产精品一二三四| 精品无人码麻豆乱码1区2区| 日韩av在线发布| 日韩中文字幕91| 爽好多水快深点欧美视频| 一区二区视频免费在线观看| 综合婷婷亚洲小说| 国产精品国产三级国产普通话三级| 精品国产欧美一区二区| 欧美岛国在线观看| 91麻豆精品国产91久久久| 777久久久精品| 91精品在线免费| 日韩无一区二区| 欧美va亚洲va在线观看蝴蝶网|