at91stdio.c

来自「Atmel arm can总线的应用程序」· C语言 代码 · 共 55 行

C
55
字号
//  ----------------------------------------------------------------------------
//          ATMEL Microcontroller Software Support  -  ROUSSET  -
//  ----------------------------------------------------------------------------
//  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.
//  ----------------------------------------------------------------------------
// File Name           : at91stdio.c
// Object              : stdio functions redefinition
// Creation            : Application Group - v1.0 24-Aug-2005
// ----------------------------------------------------------------------------
#include "at91stdio.h"

// Definition for _MEMORY case
FILE *stdmem;

//*----------------------------------------------------------------------------
//* \fn    fputc
//* \brief
//*----------------------------------------------------------------------------
int fputc(int ch, FILE *f)
{
  if(f == stdout){
    while (!AT91F_US_TxReady((AT91PS_USART)AT91C_BASE_DBGU));
    AT91F_US_PutChar((AT91PS_USART)AT91C_BASE_DBGU, (char)ch);
    return ch;
  }

  if(f == stdmem){
  }

  return EOF;
}

//*----------------------------------------------------------------------------
//* \fn    fgetc
//* \brief
//*----------------------------------------------------------------------------
int fgetc(FILE *f)
{
  if(f == stdin){
    while(!AT91F_US_RxReady((AT91PS_USART)AT91C_BASE_DBGU));
    return((int)AT91F_US_GetChar((AT91PS_USART)AT91C_BASE_DBGU));
  }

  return EOF;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?