⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tmonitor_func.c

📁 T-monitor监控程序
💻 C
📖 第 1 页 / 共 2 页
字号:
 *             : 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 + -