retarget.c

来自「基于MDK的LPC1100处理器开发应用例程」· C语言 代码 · 共 53 行

C
53
字号
/******************************************************************************/
/* RETARGET.C: 'Retarget' layer for target-dependent low level functions      */
/******************************************************************************/
/* This file is part of the uVision/ARM development tools.                    */
/* Copyright (c) 2005-2007 Keil Software. All rights reserved.                */
/* This software may only be used under the terms of a valid, current,        */
/* end user licence from KEIL for a compatible version of KEIL software       */
/* development tools. Nothing else gives you the right to use this software.  */
/******************************************************************************/

#include <stdio.h>
#include <rt_misc.h>
#include "LPC11xx.h"
#include "uart.h"

#pragma import(__use_no_semihosting_swi)


int  sendchar(int ch);  /* in serial.c */


struct __FILE { int handle; /* Add whatever you need here */ };
FILE __stdout;


  int  sendchar(int ch)
{
  /* 循环直发送结束 */
  while (!(LPC_UART->LSR & LSR_THRE))
  {	  
  }
  /* 你自己实现的fputc放置到这里 */
  /* 例如写一个字符到USART */  
  LPC_UART->THR = ch;
  return ch;
}

int fputc(int ch, FILE *f) {
  return (sendchar(ch));
}


void _ttywrch(int ch) {
  sendchar(ch);
}


void _sys_exit(int return_code) {
label:  goto label;  /* endless loop */
}


⌨️ 快捷键说明

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