#include "iodefine.h"
#include "scif_ctrl.h"

void init_scif(void)
{
	CPG.STBCR4.BIT.MSTP45	= 0;	/* SCIF2へクロックを供給 */

	SCIF2.SCSMR.BIT.CA		= 0;	/* 調歩同期 */
	SCIF2.SCSMR.BIT.CHR		= 0;	/* キャラクタ長:8 */
	SCIF2.SCSMR.BIT.PE		= 0;	/* パリティ無し */
	SCIF2.SCSMR.BIT.OE		= 0;	/* パリティモード */
	SCIF2.SCSMR.BIT.STOP	= 0;	/* ストップビット1 */
	SCIF2.SCSMR.BIT.CKS		= 0;	/* クロックセレクト 0:Pφ */

	SCIF2.SCBRR.BYTE		= 24000000/32/38400 - 1;	/* ビットレート */

	SCIF2.SCSCR.BIT.TIE		= 0;	/* 送信割込み */
	SCIF2.SCSCR.BIT.RIE		= 0;	/* 受信割込み */
	SCIF2.SCSCR.BIT.TE		= 1;	/* 送信 */
	SCIF2.SCSCR.BIT.RE		= 0;	/* 受信 */
	SCIF2.SCSCR.BIT.REIE	= 0;	/* 受信エラー割込み */
	SCIF2.SCSCR.BIT.CKE		= 0;	/* 内部クロック */

	PORT.PFCR0.BIT.PF2MD	= 4;	/* PF2をTxD2 */

	return;
}

void charput(char c)
{
	#ifdef USE_PRINTF
	while(0 == SCIF2.SCFSR.BIT.TEND)
	{
		;
	}
	SCIF2.SCFSR.BIT.TEND = 0;
	SCIF2.SCFTDR.BYTE = c;
	#endif

	return;
}

