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

📄 sample.c

📁 050117 CD 修正分 iTRON hosroot
💻 C
字号:
/* ------------------------------------------------------------------------- */
/*  HOS-H8 僒儞僾儖僾儘僌儔儉                                                */
/*                                                                           */
/*                                   Copyright (C) 1998-2002 by Project HOS  */
/* ------------------------------------------------------------------------- */

#include "itron.h"		/* HOS-H8梡僿僢僟僼傽僀儖 */
#include "h8_3048.h"
#include "h8_sci.h"
#include "sample.h"
#include "defid.h"		/* 僐儞僼傿僊儏儗乕僞乕偑惗惉偡傞ID掕媊僼傽僀儖 */


/* 僗僞乕僩傾僢僾乮旕僞僗僋晹乯 */
void start_up(void)
{
	int i;
	
	
	/* ITU0 (僔僗僥儉僞僀儅乯弶婜壔 */
	TCR0   = 0x23;
	TSR0  &= 0xfe;
	TIER0  = 1;
	GRA0   = 1999;	/* 1 msec 偺僀儞僞乕僶儖乮16MHz帪乯 */
	_TSTR  |= 0x01;
	
	/* SCI弶婜壔 */
	SCI_Init(SCI_19200);
	SCI_Puts("HOS-H8h Sample Program.\r\r");
	
	/*P1 DDR test*/
	P1.DDR = 0xff;
	P1.DR.BIT.B0 = 1;
	P1.DR.BIT.B1 = 1;
	P1.DR.BIT.B2 = 1;
	P1.DR.BIT.B3 = 1;
	P1.DR.BIT.B4 = 1;
	P1.DR.BIT.B5 = 1;
	P1.DR.BIT.B6 = 1;
	P1.DR.BIT.B7 = 1;

	ITU.TFCR.BIT.BFB4 = 1;
	ITU0.TIOR.BIT.IOA = 4;

	/* 僞僗僋奐巒 */
	sta_tsk(TID_SMP1, 1);
	sta_tsk(TID_SMP2, 2);
}


/* 僞僗僋侾 */
void Task1(INT stcd)
{
	int c;
	
	SCI_Puts("\rTask1 Start.\r");
	
	for ( ; ; ) {
		/* SCI偐傜偺庴怣傪懸偭偰 1暥帤偢傜偟偰憲怣 */
		wai_flg(NADR, FID_SCIRECV, 1, TWF_ANDW | TWF_CLR);
		
		while ( (c = SCI_Getc()) != -1 ) {
			wai_sem(SID_SCI);
			SCI_Putc(c + 1);
			sig_sem(SID_SCI);
		}
	}
}


/* 僞僗僋俀 */
void Task2(INT stcd)
{
	SYSTIME st;
	
	SCI_Puts("\rTask2 Start.\r");
	
	do {
		dly_tsk(1000);	/* 侾昩偺懸偪 */
		
		/* 尰嵼帪崗傪昞帵 */
		get_tim(&st);
		wai_sem(SID_SCI);
		SCI_Putc('\r');
		SCI_Putc('0' + st.ltime % 10000 / 1000);
		SCI_Putc('0' + st.ltime % 1000 / 100);
		SCI_Putc('0' + st.ltime % 100 / 10);
		SCI_Putc('0' + st.ltime % 10);
		SCI_Putc('\r');
		sig_sem(SID_SCI);
	} while ( st.ltime <= 10000L );
	
	SCI_Puts("\rTask2 End.\r");
	
	ext_tsk();
}


/* 僞僀儅梡妱傝崬傒僴儞僪儔 */
void TimerTrap(void)
{
	TSR0 &= 0xfe;
	
	/* 俷俽偺僞僀儅僴儞僪儔傪僐乕儖 */
	__timer_handler();
}


/* 庴怣妱傝崬傒梡妱傝崬傒僴儞僪儔 */
void Int_SCI_Recv(void)
{
	/* 暥帤傪庴怣 */
	SCI_RX_Intr();
	
	
	/* 庴怣暥帤偑偁傞偙偲傪僀儀儞僩僼儔僌偱捠抦 */
	set_flg(FID_SCIRECV, 1);
}

⌨️ 快捷键说明

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