📄 tmonitor_func.c
字号:
* : LF code converted CR + LF code
*-----------------------------------------------------------------------
* Argument : unsigned char *buffer
*-----------------------------------------------------------------------
* Return : 0
*-----------------------------------------------------------------------
* Input : None
* Output : None
*-----------------------------------------------------------------------
* Used Func : tm_exec_putchar()
*-----------------------------------------------------------------------
* Notice : None
*""FUNC COMMENT END""***************************************************/
int tm_exec_putstring(unsigned char *buffer)
{
unsigned int i;
for( i = 0;; i++ ){
/* convert LF code */
if( *(buffer+i) == '\n'){
if( i == 0 ){
tm_exec_putchar( '\r' );
} else{
if( *(buffer+i-1) != '\r' )
tm_exec_putchar( '\r' );
}
tm_exec_putchar( '\n' );
} else{
/* NULL code */
if( *(buffer+i) == 0) break;
else tm_exec_putchar( *(buffer+i) );
}
}
return 0;
}
/*""FUNC COMMENT""*******************************************************
* ID :
* Outline : get characters via SCI1
*-----------------------------------------------------------------------
* Include :
*-----------------------------------------------------------------------
* Definition : int tm_exec_getline(unsigned char *)
*-----------------------------------------------------------------------
* Function : send data until NULL code to SCI1
* : convert CR+LF code to LF code
* : append NULL code to end of buffer
*-----------------------------------------------------------------------
* Argument : unsigned char *buffer
*-----------------------------------------------------------------------
* Return : >0 received byte count
*-----------------------------------------------------------------------
* Input : None
* Output : None
*-----------------------------------------------------------------------
* Used Func : tm_exec_getchar()
* : tm_exec_putchar()
*-----------------------------------------------------------------------
* Notice : None
*""FUNC COMMENT END""***************************************************/
int tm_exec_getline(unsigned char *buffer)
{
unsigned char cc, SP_char;
unsigned int i;
int sjis_flg=0;
for( i = 0;;){
/* get 1byte character */
cc = tm_exec_getchar(0);
if( cc == 0xff ){ /* If Error,return 0 */
return(0);
}
if(sjis_flg == 1){
sjis_flg = 0;
tm_exec_putchar(cc);
*(buffer+i) = cc;
i++;
} else if( 0x20 <= cc && cc <= 0x7E ){
/* Can display code ? */
tm_exec_putchar(cc);
*(buffer+i) = cc;
i++;
} else if( cc == '\b' ){ /* BS code */
if( i > 0 ){
SP_char = 0x20;
tm_exec_putchar(cc);
tm_exec_putchar(SP_char);
tm_exec_putchar(cc);
i--;
}
} else if( cc == '\r' ){ /* CR code */
*(buffer+i) = 0;
i++;
tm_exec_putchar('\r');
tm_exec_putchar('\n');
break;
} else if( (cc >= 0x80 && cc < 0xa0) || (cc >= 0xe0 && cc < 0xfe)) {
/* SJIS */
/* Can display code ? */
tm_exec_putchar(cc);
*(buffer+i) = cc;
i++;
sjis_flg=1;
}
}
return(i);
}
/*""FUNC COMMENT""*******************************************************
* ID :
* Outline : NULL function
*-----------------------------------------------------------------------
* Include :
*-----------------------------------------------------------------------
* Definition : int tm_exec_null()
*-----------------------------------------------------------------------
* Function : NULL function
*-----------------------------------------------------------------------
* Argument : None
*-----------------------------------------------------------------------
* Return : 0
*-----------------------------------------------------------------------
* Input : None
* Output : None
*-----------------------------------------------------------------------
* Used Func : None
*-----------------------------------------------------------------------
* Notice : None
*""FUNC COMMENT END""***************************************************/
int tm_exec_null() { return 0;}
/*""FUNC COMMENT""*******************************************************
* ID :
* Outline : Initialize PFC and PORT setting
*-----------------------------------------------------------------------
* Include :
*-----------------------------------------------------------------------
* Definition : void io_init( void )
*-----------------------------------------------------------------------
* Function : Initialize PFC and PORT setting
*-----------------------------------------------------------------------
* Argument : None
*-----------------------------------------------------------------------
* Return : 0
*-----------------------------------------------------------------------
* Input : None
* Output : None
*-----------------------------------------------------------------------
* Used Func : out_h()
* : out_b()
* : init_sci()
*-----------------------------------------------------------------------
* Notice : None
*""FUNC COMMENT END""***************************************************/
void io_init( void )
{
out_h(PAIORH, 0x0000);
out_h(PAIORL, 0x0100);
/* out_h(PAIORL, 0x0000); */
out_h(PACRH, 0x0004); /* wait */
out_h(PACRL1, 0x5550); /* ck,rd,wrh,wrl,cs1,cs0 */
out_h(PACRL2, 0xA155); /* cs3,cs2,TXD1,RXD1,SCK0,TXD0,RXD0 */
out_h(PBIOR, 0x0000);
out_h(PBCR1, 0x000A); /* A21,A20 */
out_h(PBCR2, 0xA555); /* A19,A18,IRQ3,IRQ2,IRQ1,IRQ0,A17,A16 */
out_h(PCIOR, 0x0000);
out_h(PCCR, 0xFFFF); /* A15乣A0 */
out_h(PDIORH, 0x0000);
out_h(PDIORL, 0x0000);
out_h(PDCRH1, 0x00AA); /* DACK1,DACK0,DREQ1,DREQ0 */
out_h(PDCRH2, 0x2800); /* IRQ5,6 */
out_h(PDCRL1, 0xFFFF); /* D15-D0 */
out_h(PDCRL2, 0x0000);
out_h(PEIORL, 0x0000);
out_h(PECRL1, 0x0002); /* SCK2 */
out_h(PECRL2, 0x8A00); /* RXD2 */
out_b(PPCR,0x00);
out_h(PDIORH,in_h(PDIORH)|0xC000); /* PD31,30 output port */
out_h(PDCRH1, 0x000A); /* DACK1,DACK0 -> generic? */
out_h(PDDRH, 0xC000); /* FPGA select */
/* Disable all interrupts */
out_h(IPRA, 0);
out_h(IPRB, 0);
out_h(IPRC, 0);
out_h(IPRD, 0);
out_h(IPRE, 0);
out_h(IPRF, 0);
out_h(IPRG, 0);
out_h(IPRH, 0);
out_h(IPRI, 0);
out_h(IPRJ, 0);
/* Initialize SCI-1 */
init_sci();
}
/* End of File */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -