scif.c

来自「Renesas(Hitachi SuperH)SH7708的UCOS2源码,uC」· C语言 代码 · 共 53 行

C
53
字号
/*----------------------------------------------------------------*/
/*  SCIF.C                                                        */
/*     SCI1 Debug Port I/O.                                       */
/*  Author: Kuan, Yeou-Fuh                                        */
/*----------------------------------------------------------------*/
#include "sh7707.h"

void _putc  ( int );
int  _getc  ( void );
void DbgStr ( char * );

/*  Output a character by channel 1 (IrDA Module fuction as SCIF)  */
void _putc ( int P )
{
   while ( (SCSSR & 0x0084) != 0x0084 );  /* Transmit End ? */
   SCTDR = (char)P;
   SCSSR &= 0x007b;  /* Clear TEND bit in SCSSR1 */
}

int _getc ()
{
//   int c;

//  while ( SCFDR1 == 0 );	/* wait until none zero data received */
//   c = (SCRDR1 & 0x000000FF);
//   return c;
  int c;

   while ( (SCSSR & 0x0040 ) == 0 );	/* wait until none zero data received */
   c = (SCRDR & 0x000000FF);
   return c;
}

/* send string */
void DbgStr ( char * pStr )
{
//   while ( pStr )
//   {
//      while ( !(SCSSR1 & 0x0040) );  /* Transmit End ? */
//      SCTDR1 = (unsigned char) (*pStr & 0x00FF);
//      SCSSR1 &= 0xffbf;  /* Clear TEND bit in SCSSR1 */
//      pStr++;
//   }

    while ( *pStr)
   {
   	 while ( (SCSSR & 0x0084) != 0x0084 );  /* Transmit End ? */
      SCTDR = (char) (*pStr & 0x00FF);
      SCSSR &= 0x007b;  /* Clear TEND bit in SCSSR1 */
      pStr++;       	
   }
}

⌨️ 快捷键说明

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