📄 scif.c
字号:
/*----------------------------------------------------------------*/
/* 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -