📄 sample.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 + -