#include "3048f.h" /*I/Oアクセス用インクルード*/ void time_0(void) { ITU.TMDR.BYTE = 0x00; /* 通常動作     (タイマーモードレジスタ) */ ITU0.TCR.BYTE = 0xB3; /* GRAでクリア、1/8をカウントする */ /* ITU0.TIOR.BYTE = 0x8A; /* GRAのコンペアマッチ出力 */ ITU0.TIOR.BYTE = 0x80; /* GRAのコンペアマッチ */ ITU0.GRA = 0xFFFF; /* ここを変えて速度を制御 */ ITU0.TIER.BYTE = 0xF9; /* GRAで割り込みする。 */ /* ITU1.TCR.BYTE = 0xB7; GRAでクリア、1/8をカウントする */ ITU1.TCR.BYTE = 0xB3; /* GRAでクリア、内部 1/8をカウントする */ ITU1.TIOR.BYTE = 0x80; /* GRAのコンペアマッチ */ ITU1.GRA = 0xFFFF; /* ここを変えて速度を制御 */ ITU1.TIER.BYTE = 0xF9; /* GRAで割り込みする。 */ ITU3.TCR.BYTE = 0xB3; /* GRAでクリア、内部 1/8をカウントする */ ITU3.TIOR.BYTE = 0x80; /* GRAのコンペアマッチ */ ITU3.GRA = 0xFFFF; /* */ ITU3.TIER.BYTE = 0xF9; /* GRAで割り込みする。 */ ITU.TSTR.BIT.STR0 = 1; /* タイマー CH0カウント 動作開始 */ ITU.TSTR.BIT.STR1 = 1; /* タイマー CH1カウント動作開始 */ ITU.TSTR.BIT.STR3 = 1; /* タイマー CH3カウント動作開始 */ INTC.IPRB.BIT.B2 = 1; /* Set SCI1 Priority Level */ SCI1.SCR.BIT.RIE = 1; /* 受信データフル割込み(RXI )要求、および受信エラー割込み(ERI )要求を許可 */ INTC.ISCR.BYTE = 0; INTC.ISCR.BIT.IRQ2SC = 0; /* センスコントロール 0/1 : low/down */ INTC.ISCR.BIT.IRQ1SC = 1; INTC.ISCR.BIT.IRQ0SC = 1; INTC.IER.BYTE = 0; INTC.IER.BIT.IRQ2E = 0; /* 割り込み許可 (イネーブル) */ INTC.IER.BIT.IRQ1E = 1; INTC.IER.BIT.IRQ0E = 0; /* */ INTC.ISR.BYTE = 0; INTC.ISR.BIT.IRQ2F = 0; /* IRQ ステータス */ INTC.ISR.BIT.IRQ1F = 0; INTC.ISR.BIT.IRQ0F = 0; /* */ INTC.IPRA.BYTE = 0; /* プライオリティ 0/1 :非優先/優先 */ INTC.IPRA.BIT.B7 = 0; /* Set IRQ0 Priority Level 1では共存できない */ INTC.IPRA.BIT.B6 = 0; /* Set IRQ1 Priority Level 1では共存できない */ INTC.IPRA.BIT.B5 = 0; /* Set IRQ2,IRQ3 Priority Level 1では共存できない */ /* int_ok(); */ } void ITU_0() /* ----- 赤経 (経度)クロック作成 -----------*/ { int_ok(); /* これで多重割り込みに */ 中略 /* クロック作成 */ 以下略 } void ITU_1() /* -------- 赤緯 (緯度) --------------- */ { int_ok(); /* これで多重割り込みに */ 中略 /* クロック作成 */ 以下略 } void ITU_3() /*  時計用 処理トリガ--------------- */ { int_ok(); 以下略 } void sci_c1() /* ----- 受信割り込み処理 ------------ */ { ch = SCI1.RDR; /* 入力データ */ outch(ch); /* データ出力 */ cmdb[SP]=ch; SP++; if( SP > RSMAX ) SP=0; SCI1.SSR.BIT.RDRF = 0; /* 受信可能に */ } void IRQ1() /* ***** 赤外リモコン ****** ---------------*/ { INTC.IER.BIT.IRQ1E = 0; /* 割り込み無効 */ ---- 中略 ----- INTC.IER.BIT.IRQ1E = 1; /* 割り込み有効 */ }