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

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

?? dbgu.c

?? AT91SAM9263的USB Device端口驅動
?? C
字號:
/* ----------------------------------------------------------------------------
 *         ATMEL Microcontroller Software Support  -  ROUSSET  -
 * ----------------------------------------------------------------------------
 * Copyright (c) 2006, 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:
 * 
 * - Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the disclaiimer below.
 * 
 * - Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the disclaimer below in the documentation and/or
 * other materials provided with the distribution. 
 * 
 * Atmel's name may not be used to endorse or promote products derived from
 * this software without specific prior written permission. 
 * 
 * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
 * 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.
 * ----------------------------------------------------------------------------
 */

//------------------------------------------------------------------------------
//      Headers
//------------------------------------------------------------------------------

#include "dbgu.h"
#include <stdarg.h>
#include <board.h>
            
//------------------------------------------------------------------------------
//      Exported functions
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
/// Initializes the DBGU with the given parameters, and enables both the
/// transmitter and the receiver.
/// \param mode  Operating mode to configure (see <Modes>).
/// \param baudrate  Desired baudrate.
/// \param mck  Frequency of the system master clock.
//------------------------------------------------------------------------------
void DBGU_Configure(unsigned int mode,
                           unsigned int baudrate,
                           unsigned int mck)
{   
    // Reset & disable receiver and transmitter, disable interrupts
    AT91C_BASE_DBGU->DBGU_CR = AT91C_US_RSTRX | AT91C_US_RSTTX;
    AT91C_BASE_DBGU->DBGU_IDR = 0xFFFFFFFF;
    
    // Configure baud rate
    AT91C_BASE_DBGU->DBGU_BRGR = mck / (baudrate * 16);
    
    // Configure mode register
    AT91C_BASE_DBGU->DBGU_MR = mode;
    
    // Disable DMA channel
    AT91C_BASE_DBGU->DBGU_PTCR = AT91C_PDC_RXTDIS | AT91C_PDC_TXTDIS;

    // Enable receiver and transmitter
    AT91C_BASE_DBGU->DBGU_CR = AT91C_US_RXEN | AT91C_US_TXEN;
}

//------------------------------------------------------------------------------
/// Outputs a character on the DBGU line.
/// \param c  Character to send.
//------------------------------------------------------------------------------
static void DBGU_PutChar(unsigned char c)
{
    // Wait for the transmitter to be ready
    while ((AT91C_BASE_DBGU->DBGU_CSR & AT91C_US_TXEMPTY) == 0);
    
    // Send character
    AT91C_BASE_DBGU->DBGU_THR = c;
    
    // Wait for the transfer to complete
    while ((AT91C_BASE_DBGU->DBGU_CSR & AT91C_US_TXEMPTY) == 0);
}

//------------------------------------------------------------------------------
/// Reads and returns a character from the DBGU.
//------------------------------------------------------------------------------
unsigned char DBGU_GetChar()
{
    while ((AT91C_BASE_DBGU->DBGU_CSR & AT91C_US_RXRDY) == 0);
    return AT91C_BASE_DBGU->DBGU_RHR;
}

#ifndef NOFPUT

#include <stdio.h>

//------------------------------------------------------------------------------
/// Implementation of fputc using the DBGU as the standard output. Required
/// for printf().
/// Returns the character written if successful, or -1 if the output stream is
/// not stdout or stderr.
/// \param c  Character to write.
/// \param pStream  Output stream.
//------------------------------------------------------------------------------
signed int fputc(signed int c, FILE *pStream)
{
    if ((pStream == stdout) || (pStream == stderr)) {
    
        DBGU_PutChar(c);
        return c;
    }
    else {

        return EOF;
    }
}

//------------------------------------------------------------------------------
/// Implementation of fputs using the DBGU as the standard output. Required
/// for printf(). Does NOT currently use the PDC.
/// Returns the number of characters written if successful, or -1 if the output
/// stream is not stdout or stderr.
/// \param pStr  String to write.
/// \param pStream  Output stream.
//------------------------------------------------------------------------------
signed int fputs(const char *pStr, FILE *pStream)
{
    signed int num = 0;

    while (*pStr != 0) {

        if (fputc(*pStr, pStream) == -1) {

            return -1;
        }
        num++;
        pStr++;
    }

    return num;
}

#undef putchar

//------------------------------------------------------------------------------
/// Outputs a character on the DBGU. Returns the character itself.
/// \param c  Character to output.
//------------------------------------------------------------------------------
signed int putchar(signed int c)
{
    return fputc(c, stdout);
}

#endif //#ifndef NOFPUT

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲图片有声小说| 一区二区三区四区不卡在线| 久久久久高清精品| 亚洲精品免费视频| 国内外精品视频| 欧洲一区二区av| 国产精品色在线| 久久不见久久见免费视频1| 91色视频在线| 国产欧美精品日韩区二区麻豆天美| 亚洲va欧美va国产va天堂影院| 成人性生交大合| 精品免费国产二区三区| 亚洲综合免费观看高清完整版| 丁香六月久久综合狠狠色| 欧美成人性福生活免费看| 一区二区不卡在线视频 午夜欧美不卡在| 久久激五月天综合精品| 欧美精品久久99| 亚洲综合区在线| 欧美性大战久久| 国产精品精品国产色婷婷| 久久精品国内一区二区三区 | ...xxx性欧美| 国产精品1区2区3区在线观看| 欧美日韩精品久久久| 亚洲精品久久7777| 色婷婷综合久久久中文一区二区 | 欧美国产丝袜视频| 国产一区二区三区美女| 精品久久国产老人久久综合| 亚洲午夜久久久久| 欧美中文字幕一区二区三区亚洲| 中文字幕一区二| 99热99精品| 亚洲美女淫视频| 99国产精品久久| 日韩美女精品在线| 一本久久精品一区二区| 一区二区三区**美女毛片| 欧美亚洲一区二区在线| 亚洲小说欧美激情另类| 欧美日本一区二区在线观看| 肉肉av福利一精品导航| 日韩亚洲欧美在线| 国产在线不卡一区| 中文子幕无线码一区tr| 色哟哟一区二区| 日日摸夜夜添夜夜添国产精品| 日韩午夜在线影院| 国产精品69毛片高清亚洲| 国产精品免费看片| 欧美性xxxxxx少妇| 午夜欧美视频在线观看| 欧美va在线播放| 北条麻妃一区二区三区| 亚洲最新视频在线观看| 欧美一区二区大片| 国产一区二区三区久久悠悠色av| 中文欧美字幕免费| 欧洲另类一二三四区| 麻豆国产精品一区二区三区 | 成人动漫中文字幕| 亚洲激情六月丁香| 欧美刺激脚交jootjob| 99久精品国产| 久久精品72免费观看| 国产精品成人网| 欧美一级片在线观看| 成人一级片在线观看| 一级日本不卡的影视| 精品国产亚洲在线| 亚洲精品一区二区三区香蕉 | 国产在线精品一区二区不卡了| 国产精品免费视频观看| 7777精品伊人久久久大香线蕉完整版| 国产一区欧美二区| 亚洲主播在线播放| 国产色综合久久| 欧美日本国产一区| 成人18视频日本| 精品在线一区二区三区| 亚洲美女淫视频| 国产人妖乱国产精品人妖| 欧美美女一区二区在线观看| 成人免费高清在线| 国模大尺度一区二区三区| 亚洲精品国产精华液| 国产日韩精品视频一区| 日韩写真欧美这视频| 欧美主播一区二区三区美女| 国产精品99精品久久免费| 日本视频免费一区| 一区二区高清视频在线观看| 国产精品女上位| 国产香蕉久久精品综合网| 日韩一区二区在线看| 欧美日本韩国一区| 在线观看网站黄不卡| 99久久精品久久久久久清纯| 韩国三级在线一区| 久久99精品视频| 蜜臀av亚洲一区中文字幕| 午夜在线电影亚洲一区| 亚洲人精品午夜| 中文字幕亚洲一区二区av在线 | 欧美伦理视频网站| 色狠狠一区二区三区香蕉| av在线不卡网| www.欧美日韩| av电影在线观看一区| 成人av电影在线观看| 99久久久精品| 91麻豆swag| 色欧美日韩亚洲| 欧洲国产伦久久久久久久| 91福利在线免费观看| 欧美日韩一区久久| 欧美日韩在线三区| 欧美日韩成人在线一区| 在线播放91灌醉迷j高跟美女| 欧美日韩一区高清| 91精品综合久久久久久| 欧美撒尿777hd撒尿| 欧美日韩电影在线| 日韩欧美黄色影院| 久久精品在线免费观看| 国产婷婷色一区二区三区在线| 国产偷国产偷精品高清尤物| 国产精品久久久久9999吃药| 亚洲人精品一区| 婷婷激情综合网| 黄色日韩三级电影| 国产成人激情av| 精品国产网站在线观看| 精品国产百合女同互慰| 国产欧美精品一区二区色综合| 国产精品久久久一本精品 | 国产欧美一区二区精品秋霞影院| 国产拍揄自揄精品视频麻豆| 中文字幕视频一区| 亚洲成av人片一区二区梦乃| 日韩精品成人一区二区三区| 国产精品中文字幕一区二区三区| 大胆亚洲人体视频| 欧美视频精品在线观看| 欧美大片顶级少妇| 成人免费一区二区三区在线观看| 亚洲综合在线第一页| 激情综合网天天干| 99精品国产视频| 6080国产精品一区二区| 国产日韩欧美精品一区| 亚洲高清在线精品| 国产精品一二三| 精品婷婷伊人一区三区三| 久久久久久久久久久黄色| 一色屋精品亚洲香蕉网站| 日产精品久久久久久久性色| 国产aⅴ精品一区二区三区色成熟| 色94色欧美sute亚洲13| 精品国产乱码久久久久久1区2区 | 激情综合五月天| 在线视频综合导航| 久久久久综合网| 亚洲第一精品在线| 丁香六月综合激情| 日韩免费看网站| 亚洲一区中文在线| 成人精品鲁一区一区二区| 欧美一卡二卡在线| 亚洲男人天堂av网| 国产成人精品免费一区二区| 欧美一区二区久久久| 一区二区不卡在线播放| 国产99久久久国产精品潘金网站| 欧美久久免费观看| 亚洲色图欧洲色图婷婷| 粉嫩aⅴ一区二区三区四区| 日韩三级视频在线看| 亚洲va国产天堂va久久en| 色婷婷综合久久久久中文 | 久久亚洲欧美国产精品乐播 | 日韩一区二区三免费高清| 亚洲欧美另类久久久精品2019| 国产精选一区二区三区| 欧美一区二区视频在线观看2022| 亚洲乱码国产乱码精品精98午夜| 国产乱子伦视频一区二区三区| 日韩欧美一二三| 免费成人深夜小野草| 51久久夜色精品国产麻豆| 亚洲国产另类av| 欧美午夜精品久久久| 亚洲精品ww久久久久久p站| 99久久777色| 亚洲黄色在线视频| 欧美变态tickling挠脚心| 婷婷久久综合九色国产成人| 欧美日韩高清在线|