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 + -
显示快捷键?