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

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

?? ser0.h

?? TDK 6521 SOC 芯片 DEMO程序
?? H
字號:
/***************************************************************************
 * This code and information is provided "as is" without warranty of any   *
 * kind, either expressed or implied, including but not limited to the     *
 * implied warranties of merchantability and/or fitness for a particular   *
 * purpose.                                                                *
 *                                                                         *
 * Copyright (C) 2005 Teridian Semiconductor Corp. All Rights Reserved.    *
 ***************************************************************************/
//**************************************************************************
//    
//  DESCRIPTION: 71M651x POWER METER - API for SERIAL Ports.
// 
//  AUTHOR:  RGV
//
//  HISTORY: See end of file
//
//**************************************************************************
//               
// File: SER0.H
//               
//**************************************************************************
//  Hardware access layer for UART 0
//  This defines two interfaces.  There's a specific interface, indexed
//  to uart 0.  There's also a generic interface, unindexed.  The idea
//  is that a protocol layer can be written in terms of the generic
//  interface, and then quickly ported to any serial interface just by
//  changing the include file, say from ser0.h to ser1.h
//

#ifndef SER0_H
#define SER0_H 1
#include "ser.h"  // definitions shared by all the uarts

// higher-level serial code is invoked by SER0_XMIT_INT and SER0_RCV_INT
// as defined in options.h

// Get data from the receive register; This can't be a macro, alas,
// because it has to clear the RI bit before it returns a value.
extern bool ser0_error;  // status for the most recent byte read
extern uint8_t ser0_rcv (void) small reentrant; /* define a common routine to find parity */
#undef ser_rcv
#define ser_rcv() ser0_rcv()

// Put data in the transmit register
#if SEVEN_BIT_0
#if PARITY_NONE_0               
// seven bits, no parity, two stop bits
#define ser0_xmit(_in_) \
    TI = 0; \
    SBUF = _in_ | 0x80  /* bit 7 is used as a second stop bit */ 
#else
// seven bits, even or odd parity, one stop bit
#define ser0_xmit(_in_) \
    TI = 0; \
    A = _in_ & 0x7F; \
    if (0 != (P ^ PARITY_ODD_0)) \
       A |= 0x80; \
    SBUF = A;
#endif
#else
#if PARITY_NONE_0          
// eight bits, no parity, one stop bit
#define ser0_xmit(_in_) \
    TI = 0; \
    SBUF = _in_
#else
// eight bits, even or odd parity, one stop bit
#define ser0_xmit(_in_) \
    TI = 0; \
    A = _in_;                /* Force correct parity flag. */ \
    TB8 = P ^ PARITY_ODD_0;  /* set parity */ \
    SBUF = A
#endif
#endif
// provide a macro so higher level driver code can run on either port
#undef ser_xmit
#define ser_xmit(_in_) ser0_xmit(_in_)

// Is the receive register ready?
#define ser0_rcv_rdy() RI
// provide a macro so higher level driver code can run on either port
#undef ser_rcv_rdy
#define ser_rcv_rdy() ser0_rcv_rdy()

// Does the receive register have an error?
#if PARITY_NONE_0               
// if no parity, there's no way to tell, so there's never an error
#define ser0_rcv_err() FALSE
#define ser0_clr_err()
#else
// if parity, publish the bit set by ser_rcv();
#define ser0_rcv_err() ser0_error
#define ser0_clr_err() ser0_error = FALSE
#endif
// provide macros so higher level driver code can run on either port
#undef ser_rcv_err
#undef ser_clr_err
#define ser_rcv_err() ser0_rcv_err()
#define ser_clr_err() ser0_clr_err()

// Is the transmit register empty?
#define ser0_xmit_rdy() TI
// provide a macro so higher level driver code can run on either port
#undef ser_xmit_rdy
#define ser_xmit_rdy() ser0_xmit_rdy()

// Enable an interrupt when the receive register ready.
#define ser0_enable_rcv_rdy() ES0 = 1;  REN = 1
// provide a macro so higher level driver code can run on either port
#undef ser_enable_rcv_rdy
#define ser_enable_rcv_rdy() ser0_enable_rcv_rdy()

// Disable an interrupt when the receive register ready.
#define ser0_disable_rcv_rdy() REN = 0
// provide a macro so higher level driver code can run on either port
#undef ser_disable_rcv_rdy
#define ser_disable_rcv_rdy() ser0_disable_rcv_rdy()

// Enable an interrupt when the receive register ready.
#define ser0_enable_xmit_rdy() ES0 = 1; TI = 1
// provide a macro so higher level driver code can run on either port
#undef ser_enable_xmit_rdy
#define ser_enable_xmit_rdy() ser0_enable_xmit_rdy()

// Disable an interrupt when the receive register ready.
#define ser0_disable_xmit_rdy() TI = 0
// provide a macro so higher level driver code can run on either port
#undef ser_disable_xmit_rdy
#define ser_disable_xmit_rdy() ser0_disable_xmit_rdy()

// Turn on the transmitter
#define ser0_xmit_on() /* should enable output, does nothing for serial 0 */
// provide a macro so higher level driver code can run on either port
#undef ser_xmit_on
#define ser_xmit_on() /* does nothing for serial 0 */

// turn off the transmitter
#define ser0_xmit_off() /* should disable output */
// provide a macro so higher level driver code can run on either port
#undef ser_xmit_off
#define ser_xmit_off() /* does nothing for serial 0 */

// permit other uses of the serial transmitter's pin
#define ser0_xmit_free() /* free the transmitter */
// provide a macro so higher level driver code can run on either port
#undef ser_xmit_free
#define ser_xmit_free() /* does nothing for serial 0 */

// Initialize UART 0
extern void ser0_initialize (enum SERIAL_SPD speed) small reentrant;
// provide a macro so higher level driver code can run on either port
#define ser_initialize(x) ser0_initialize(x)

#undef BAUD
#define BAUD BAUD_0

/***************************************************************************
 * $Log: ser0.h,v $
 * Revision 1.20  2006/09/27 00:57:01  tvander
 * More comments
 *
 * Revision 1.19  2006/09/09 01:10:00  gmikef
 * *** empty log message ***
 *
 * Revision 1.18  2006/08/09 00:56:36  tvander
 * *** empty log message ***
 *
 * Revision 1.17  2006/07/07 00:56:57  tvander
 * Made the serial initialization routines reentrant.
 *
 * Revision 1.15  2005/09/22 23:45:07  tvander
 * Clean build all models and unit tests, updated copyright to be fore Teridian
 *
 * Revision 1.14  2005/09/11 00:33:59  tvander
 * Clean compiles
 *
 * Revision 1.13  2005/09/07 05:28:05  tvander
 * 7 bit transmit wasn't managing the transmit interrupt flag!! (e.g. TI in uart0)
 *
 * Revision 1.12  2005/08/31 05:54:20  gmikef
 * First version w/ LAPIE interface.
 *
 * Revision 1.11  2005/08/28 02:15:12  gmikef
 * *** empty log message ***
 *
 * Revision 1.10  2005/08/19 01:04:39  gmikef
 * *** empty log message ***
 *
 * Revision 1.9  2005/05/19 00:31:01  tvander
 * Fixed so ser0 and ser1 can coexist in the same file. as they were designed to do.
 *
 * Revision 1.8  2005/04/21 02:00:26  gmikef
 * *** empty log message ***
 *
 * Revision 1.7  2005/04/09 02:04:26  gmikef
 * *** empty log message ***
 *
 * Revision 1.7  2005/04/06 23:04:43  tvander
 * First valid compile of flag
 *
 * Revision 1.6  2005/03/31 00:18:22  tvander
 * Minimally unit tested.
 * UART 0 is tested at 9600 BAUD 7 bits even parity, one stop bit.
 * UART 1 is tested at 300 BAUD 7 bits even parity, one stop bit.
 *
 * Revision 1.5  2005/03/24 22:12:51  tvander
 * Misc improvements
 *
 * Revision 1.4  2005/03/24 01:38:59  tvander
 * First successful compile of serial unit test
 *
 * Revision 1.3  2005/03/23 19:19:31  tvander
 * Added untested timer functions.
 * Updated iicdio and iiceep to reflect improvements in 6510 code.
 * ser0 and ser1 updated to provide features for flag.
 *
 * Revision 1.2  2005/03/15 00:32:35  tvander
 * More realistic hardware abstraction layer.
 *
 * Revision 1.1  2005/03/11 22:17:22  tvander
 * Structure
 *
 *
 * Copyright (C) 2005 Teridian Semiconductor Corp. All Rights Reserved.    *
 * this program is fully protected by the United States copyright          *
 * laws and is the property of Teridian Semiconductor Corporation.         *
 ***************************************************************************/

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久亚洲毛片| 麻豆一区二区三| 蜜桃av一区二区三区电影| 成人黄动漫网站免费app| 欧美一卡二卡在线| 亚洲精品v日韩精品| 成人精品国产一区二区4080| 欧美一个色资源| 亚洲最新视频在线播放| 国产91在线观看| wwww国产精品欧美| 免费在线成人网| 欧美日韩久久久一区| 亚洲男人电影天堂| 99国产精品国产精品毛片| 国产丝袜美腿一区二区三区| 久久精品国产第一区二区三区| 欧美四级电影在线观看| 亚洲丝袜美腿综合| 91在线小视频| 中文字幕在线观看一区| 成人一区二区三区中文字幕| 久久伊99综合婷婷久久伊| 免费高清视频精品| 5月丁香婷婷综合| 日韩国产一二三区| 4hu四虎永久在线影院成人| 亚洲宅男天堂在线观看无病毒| 色综合一区二区| 亚洲一区二区在线视频| 欧美性色综合网| 亚洲天天做日日做天天谢日日欢| 波多野结衣中文字幕一区 | 欧美日韩精品专区| 一区二区在线看| 精品视频全国免费看| 亚洲成人av电影| 日韩欧美国产麻豆| 蜜桃精品在线观看| 精品欧美乱码久久久久久1区2区| 久久99蜜桃精品| 久久久亚洲精品一区二区三区| 国产老女人精品毛片久久| 久久久99久久精品欧美| 福利一区二区在线| 亚洲黄色尤物视频| 欧美丰满一区二区免费视频 | 亚洲另类中文字| 欧美性xxxxx极品少妇| 亚洲第一主播视频| 精品乱码亚洲一区二区不卡| 国产一区二区中文字幕| 亚洲欧美日韩一区二区| 欧美日韩国产中文| 国产一区二区三区美女| 亚洲欧美综合网| 欧美一区二区观看视频| 国产成人在线视频网站| 亚洲日本中文字幕区| 91麻豆精品国产自产在线观看一区| 蜜臀av在线播放一区二区三区 | 制服.丝袜.亚洲.另类.中文| 韩国女主播成人在线| 中文字幕一区二区三区四区| 欧美日韩一区二区三区高清| 国产在线视频不卡二| 亚洲男女毛片无遮挡| 欧美福利一区二区| 成人av电影免费在线播放| 日韩和欧美的一区| ...av二区三区久久精品| 91精品国产一区二区三区香蕉| 成人中文字幕电影| 男女男精品视频网| 亚洲综合一区二区精品导航| 久久久三级国产网站| 欧美亚洲国产一卡| 国产成人av电影在线观看| 亚洲444eee在线观看| 中文字幕一区二区三区蜜月| 精品日韩成人av| 欧美日韩亚洲综合在线 | 波多野结衣在线aⅴ中文字幕不卡| 亚洲成人你懂的| 中文字幕一区二区在线播放| 日韩欧美一区二区视频| 色婷婷久久一区二区三区麻豆| 激情六月婷婷久久| 日本欧美大码aⅴ在线播放| 亚洲精品高清在线观看| 国产女人水真多18毛片18精品视频| 欧美亚洲综合网| 91麻豆免费观看| 丁香激情综合国产| 精品在线播放午夜| 丝袜a∨在线一区二区三区不卡| 亚洲精品中文在线影院| 国产精品女主播av| 国产欧美日韩不卡| 久久久亚洲精品一区二区三区| 日韩一卡二卡三卡四卡| 欧美日韩精品一区二区天天拍小说| 97成人超碰视| 成人av电影观看| www.成人网.com| jizz一区二区| 成人免费视频免费观看| 国产成人午夜精品影院观看视频| 美女视频免费一区| 日本不卡一区二区三区高清视频| 丝袜美腿一区二区三区| 午夜精品福利在线| 琪琪久久久久日韩精品| 青娱乐精品视频| 奇米影视一区二区三区小说| 久久aⅴ国产欧美74aaa| 久久99精品网久久| 国产精品一区二区在线观看不卡 | 亚洲欧美成人一区二区三区| 一区视频在线播放| 伊人色综合久久天天| 亚洲动漫第一页| 日韩不卡免费视频| 久久爱www久久做| 国产成人福利片| 91丨九色丨国产丨porny| 91久久精品一区二区三| 欧美日韩一区二区不卡| 日韩一级片在线播放| 久久久精品人体av艺术| 中文字幕av资源一区| 亚洲美女在线国产| 天天免费综合色| 国产一区欧美二区| 91美女视频网站| 欧美精品乱码久久久久久| 久久免费偷拍视频| 亚洲天堂久久久久久久| 日韩电影免费在线看| 国产精品一区一区三区| 91行情网站电视在线观看高清版| 正在播放一区二区| 欧美韩国日本一区| 亚洲h在线观看| 国产精品一二一区| 欧美影视一区在线| 精品av久久707| 亚洲欧美日韩中文字幕一区二区三区 | 国产精品国产馆在线真实露脸| 一区二区免费在线| 久久成人av少妇免费| 色综合久久88色综合天天免费| 8v天堂国产在线一区二区| 国产亚洲午夜高清国产拍精品 | 欧美精品久久天天躁| 国产午夜亚洲精品不卡| 一区二区三区电影在线播| 美女免费视频一区二区| 99久久99精品久久久久久| 日韩一区二区三| 一区二区三区不卡视频在线观看 | 蜜桃av一区二区三区电影| 成人av午夜电影| 日韩免费观看高清完整版| 亚洲少妇30p| 国产精品一区在线观看乱码 | 中文字幕在线一区免费| 日韩高清在线观看| 在线日韩av片| 国产精品欧美久久久久一区二区| 日韩高清一区二区| 欧美综合在线视频| 亚洲婷婷国产精品电影人久久| 国产资源在线一区| 在线成人午夜影院| 亚洲精品综合在线| 成人少妇影院yyyy| 国产欧美精品一区二区色综合朱莉| 三级影片在线观看欧美日韩一区二区 | 亚洲私人影院在线观看| 国产精品伊人色| 久久久亚洲精华液精华液精华液| 免费观看成人av| 欧美一级淫片007| 性欧美大战久久久久久久久| 在线视频你懂得一区二区三区| 中文字幕一区二区三区av| 国产 日韩 欧美大片| 久久久久国产精品人| 精品系列免费在线观看| 欧美一区二区三级| 日本三级亚洲精品| 欧美zozo另类异族| 九一久久久久久| 日韩午夜小视频| 蜜臀av性久久久久av蜜臀妖精| 制服.丝袜.亚洲.另类.中文| 亚洲6080在线| 欧美mv日韩mv亚洲| 国内精品不卡在线|