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

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

?? ser1.c

?? TDK 6521 SOC 芯片 DEMO程序
?? C
字號:
/***************************************************************************
 * 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 - hardware abstraction layer
//  for SERIAL Ports.  The idea here is to hide the hardware just
//  enough that several identical files can include this file
//  and become adapted to a serial port.
// 
//  AUTHOR:  RGV
//
//  HISTORY: See end of file
//
//**************************************************************************
// File: SER1.C
//               
//**************************************************************************
//  Hardware access layer for UART 1
//
#ifndef SER1_C
#define SER1_C 1

#include "options.h"
#if SERIAL1
#include "batmodes.h"
#include "ser1.h"

#if PARITY_NONE_1
#else
bool ser1_error;  // status for the serial port; needed only with parity
#endif

// Get data from the receive register
#pragma save
#pragma NOAREGS
uint8_t ser1_rcv(void) small reentrant
{
    // The RI bit is cleared here to be like other UARTs, where
    // reading the data register clears the ready bit.
    // This lets polling reads always wait for RI,
    // and the applications' interrupt code will always clear RI.
    S1CON &= ~RI_;                    // data is being received
#if PARITY_NONE_1
#if SEVEN_BIT_1
    // 7 bit, no parity
    return (0x7f & S1BUF);
#else
    // 8 bit, no parity
    return S1BUF;
#endif
#else // parity cases
#if SEVEN_BIT_1 
    // 7 bit, parity
    A = S1BUF;                   // Calculate parity, result in flag.
    if (P != PARITY_ODD_1)
        ser1_error = TRUE;          
    return (A & 0x7F);
#else
    // 8 bit, parity
    A = S1BUF;                   // Calculate parity, result in flag.
    if ((((S1CON & RB8_) != 0) ^ P) != PARITY_ODD_1)
        ser1_error = TRUE;          
    return A;
#endif
#endif
}
#pragma restore

// serial interrupts for UART 0
#pragma save
#pragma REGISTERBANK (ES1_BANK)
void es1_isr   (void) small reentrant interrupt ES1_IV using ES1_BANK
{
    if (S1CON & RI_)
    {
       #ifdef SER1_RCV_INT
       // call the higher-level protocol, if any, defined in options.h
       // or main\opt_gbl.h
       SER1_RCV_INT ();
       #else
       ser_rcv();      // no higher protocol- throw away the character
       #endif
    }
    if (S1CON & TI_)
    {
       #ifdef SER1_XMIT_INT
       // call the higher-level protocol, if any, defined in options.h
       // or main\opt_gbl.h
       SER1_XMIT_INT ();
       #else
       ser_disable_xmit_rdy();  // no higher protocol- stop sending
       #endif
    }
}
#pragma restore

// Initialize UART 1
#pragma save
#pragma NOAREGS
void ser1_initialize (enum SERIAL_SPD speed) small reentrant
{
    IEN2 = FALSE;        // Begin critical code section, interrupts OFF.

    S1CON &= ~REN_;      // Make sure it gets reset.


    #if BROWNOUT_BATMODE
    if (batmode_is_brownout())
    {
        S1RELH = BPS_BROWNOUT_300 >> 8;
        S1RELL = BPS_BROWNOUT_300 & 0xFF;
    }
    else
    {
	#endif
        speed += CONFIG0 & MPU_DIV;
        S1RELH = bit_rate_tbl[ speed ] >> 8;
        S1RELL = bit_rate_tbl[ speed ] & 0xFF;
	#if BROWNOUT_BATMODE
    }
	#endif

    #if (((SEVEN_BIT_1 || PARITY_NONE_1) && !STOP_BIT2_1) \
        || (SEVEN_BIT_1 && PARITY_NONE_1 && STOP_BIT2_1))
       // 8N1, 7E1, 7E2, 7N2 are 8 bits; 7N1 is impossible
       // Serial port mode 1, (8-Bit UART), REN, TB8.
       S1CON = _8BIT_SERIAL1_ | REN_ | TB8_;
    #else
       // 8N2, 7E2, 7O2, 8E1, 8O1 are 9 bits; 8E2 and 8O2 are impossible
       // Serial port mode 1, (9-Bit UART), REN, TB8.
       S1CON = _9BIT_SERIAL1_ | REN_ | TB8_;
	#endif

    // When transmit interrupts are enabled, transfer will begin immediately
    // Polling transmits can always check TI first
    S1CON |= TI_;  // transmit is ready

    // clear out unwanted data
    while (ser_rcv_rdy ())
        ser_rcv ();

    #ifdef ser1_error
    ser1_error = FALSE;
    #endif

    // Interrupt priorities are set in main.

    // leave interrupts disabled- enabling interrupts is for application
}
#pragma restore

#endif
#endif
/***************************************************************************
 * $Log: ser1.c,v $
 * Revision 1.23  2006/09/27 00:57:01  tvander
 * More comments
 *
 * Revision 1.22  2006/09/20 23:49:34  tvander
 * Set interrupt priorities only once, during start-up
 *
 * Revision 1.21  2006/09/18 19:22:43  tvander
 * Sets interrupt priorities.
 *
 * Revision 1.20  2006/09/09 01:10:02  gmikef
 * *** empty log message ***
 *
 * Revision 1.19  2006/08/09 00:56:36  tvander
 * *** empty log message ***
 *
 * Revision 1.18  2006/07/18 23:35:51  tvander
 * Wrong register space for initialization routine.
 *
 * Revision 1.17  2006/07/07 00:56:05  tvander
 * Fixed register accesses and baud rate selection.
 *
 * Revision 1.16  2006/03/08 00:00:57  tvander
 * Revised IO so that multiplexed interrupts are centralized in io65xx.c
 * Added default interrupts to io65xx.c
 * Clean build.
 * Tested CE, serial.
 * interrupting EEPROM driver fails.
 *
 * Revision 1.15  2006/03/06 03:32:15  Michael T. Fischer
 * More 6530 prep.
 *
 * Revision 1.13  2005/10/18 02:17:09  tvander
 * Access CLI in brownout by pressing reset.
 * Debugged serial 1 usage from CLI.
 * Implemented scrolling display as M17
 *
 * Revision 1.12  2005/09/22 23:45:07  tvander
 * Clean build all models and unit tests, updated copyright to be fore Teridian
 *
 * Revision 1.11  2005/09/11 00:33:59  tvander
 * Clean compiles
 *
 * Revision 1.10  2005/08/28 02:15:30  gmikef
 * *** empty log message ***
 *
 * Revision 1.9  2005/08/20 01:32:46  gmikef
 * *** empty log message ***
 *
 * Revision 1.8  2005/08/19 01:04:40  gmikef
 * *** empty log message ***
 *
 * Revision 1.7  2005/05/19 00:32:06  tvander
 * Made so SERIAL1 must be 1 for code to compile.
 *
 * Revision 1.6  2005/04/21 02:00:42  gmikef
 * *** empty log message ***
 *
 * Revision 1.5  2005/04/09 02:04:26  gmikef
 * *** empty log message ***
 *
 * Revision 1.5  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.4  2005/03/24 22:12:51  tvander
 * Misc improvements
 *
 * Revision 1.3  2005/03/24 01:39:00  tvander
 * First successful compile of serial unit test
 *
 * Revision 1.2  2005/03/23 19:19:32  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.1  2005/03/15 00:32:35  tvander
 * More realistic hardware abstraction layer.
 *
 * Revision 1.1  2005/03/11 22:17:21  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.         *
 ***************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩国产在线观看一区| 不卡的电视剧免费网站有什么| 久久不见久久见中文字幕免费| 豆国产96在线|亚洲| 欧美精品在欧美一区二区少妇| 亚洲精品一区二区三区福利| 一区二区三区在线视频免费观看| 狠狠色狠狠色综合系列| 91福利小视频| 国产精品护士白丝一区av| 麻豆91精品91久久久的内涵| 99久久99久久久精品齐齐| 精品国产免费人成在线观看| 一区二区三区不卡视频在线观看| 国产精品一品视频| 日韩欧美久久久| 一级特黄大欧美久久久| proumb性欧美在线观看| 欧美精品一区二区在线观看| 丝袜国产日韩另类美女| 一本大道久久a久久综合婷婷| 久久综合五月天婷婷伊人| 午夜久久电影网| 日本大香伊一区二区三区| 国产欧美精品区一区二区三区| 日本aⅴ亚洲精品中文乱码| 色丁香久综合在线久综合在线观看| 久久久久一区二区三区四区| 美女国产一区二区| 欧美一区二区精品| 婷婷六月综合网| 欧美日韩国产成人在线免费| 1024成人网| 99久久国产免费看| 中文字幕一区二区三区色视频| 国产成人亚洲综合a∨婷婷| 国产亚洲欧美激情| 国产aⅴ精品一区二区三区色成熟| 日韩一区二区在线看| 蜜乳av一区二区| 日韩三级av在线播放| 男人操女人的视频在线观看欧美| 欧美精品xxxxbbbb| 男女性色大片免费观看一区二区 | 日韩一区二区影院| 性欧美疯狂xxxxbbbb| 6080午夜不卡| 久久精品国产久精国产| 精品国产凹凸成av人网站| 成人美女视频在线观看18| 欧美国产日韩亚洲一区| 成人三级伦理片| 一区二区高清视频在线观看| 欧美午夜精品电影| 人人狠狠综合久久亚洲| 精品久久国产字幕高潮| 成人涩涩免费视频| 亚洲自拍欧美精品| 日韩视频在线观看一区二区| 国产精品正在播放| 亚洲人成精品久久久久| 欧美精品视频www在线观看| 精品写真视频在线观看| 国产精品成人一区二区艾草| 欧美伊人久久大香线蕉综合69| 日韩国产精品91| 国产欧美综合在线| 欧美视频精品在线| 久久99精品国产91久久来源| 国产精品久久久久影院老司| 欧美日本一道本| 国产精品性做久久久久久| 亚洲精品免费在线观看| 欧美一级久久久| av一二三不卡影片| 欧美aⅴ一区二区三区视频| 国产欧美日韩在线观看| 欧美三级视频在线观看| 国产一区二区不卡| 亚洲国产一二三| 中文字幕成人网| 欧美日韩免费在线视频| 成人一级黄色片| 日韩高清在线一区| 中文字幕在线不卡| 欧美成人艳星乳罩| 色婷婷久久综合| 韩国女主播成人在线观看| 亚洲欧美一区二区三区极速播放 | 日韩美女一区二区三区四区| 成人污污视频在线观看| 美美哒免费高清在线观看视频一区二区 | 99v久久综合狠狠综合久久| 热久久久久久久| 亚洲一区二区精品视频| 国产精品久久久久久久久晋中| 欧美巨大另类极品videosbest| 不卡一区二区三区四区| 精久久久久久久久久久| 日韩综合小视频| 亚洲人吸女人奶水| 国产精品乱码一区二区三区软件| 日韩欧美在线1卡| 在线播放日韩导航| 欧美日韩一区二区在线观看 | 欧美色图12p| 91亚洲大成网污www| 狠狠色综合日日| 琪琪久久久久日韩精品| 午夜日韩在线观看| 亚洲第一搞黄网站| 夜夜夜精品看看| 亚洲精品水蜜桃| 亚洲欧美国产高清| 亚洲欧美日韩国产一区二区三区| 国产精品午夜电影| 国产精品毛片久久久久久久| 国产日韩欧美高清| 国产亚洲一本大道中文在线| 精品日韩99亚洲| 精品国内二区三区| 精品国产伦理网| 久久女同性恋中文字幕| www国产精品av| 精品播放一区二区| 久久综合色一综合色88| 久久综合五月天婷婷伊人| 久久久久久久免费视频了| 久久久亚洲综合| 欧美国产在线观看| 国产精品久久久久久久久动漫| 国产精品乱人伦中文| 中文字幕日本乱码精品影院| 亚洲精品一二三区| 亚洲国产一二三| 青青草97国产精品免费观看 | 日韩一级成人av| 欧美va亚洲va| 国产欧美一区二区精品性色超碰| 欧美国产国产综合| 亚洲免费三区一区二区| 午夜精品影院在线观看| 另类小说图片综合网| 国产一区二区三区精品视频| 成人av网站在线观看免费| 色综合久久天天| 欧美剧情电影在线观看完整版免费励志电影| 在线播放中文字幕一区| 国产亚洲一本大道中文在线| 亚洲乱码中文字幕综合| 亚洲第一激情av| 韩国精品主播一区二区在线观看| 国产成a人亚洲精品| 色播五月激情综合网| 日韩丝袜情趣美女图片| 久久久久9999亚洲精品| 亚洲免费三区一区二区| 另类中文字幕网| 91亚洲国产成人精品一区二三| 欧美一级欧美一级在线播放| 国产日韩欧美高清| 日韩精品午夜视频| 不卡的av中国片| 精品少妇一区二区三区免费观看| 国产精品对白交换视频| 蜜桃视频一区二区三区在线观看 | 欧美性生活一区| 精品福利二区三区| 亚洲视频你懂的| 激情久久五月天| 欧美性猛交一区二区三区精品| 久久理论电影网| 五月开心婷婷久久| 91视视频在线观看入口直接观看www| 91麻豆精品国产| 亚洲裸体在线观看| 国产aⅴ精品一区二区三区色成熟| 欧美优质美女网站| 国产精品色呦呦| 久久av资源网| 欧美日韩精品一二三区| 美洲天堂一区二卡三卡四卡视频 | 亚洲精品日日夜夜| 国产成人精品免费看| 日韩美女主播在线视频一区二区三区| 亚洲色欲色欲www在线观看| 国产一区二区三区免费播放| 欧美亚一区二区| 亚洲欧洲精品一区二区三区 | 欧洲av在线精品| 亚洲欧洲精品一区二区精品久久久 | 成人a级免费电影| www久久久久| 国内久久精品视频| 欧美一区欧美二区| 午夜精品在线看| 欧美日韩国产首页| 午夜精品成人在线视频| 色婷婷亚洲一区二区三区| 亚洲免费观看高清|