common.c

来自「最新版IAR FOR ARM(EWARM)5.11中的代码例子」· C语言 代码 · 共 72 行

C
72
字号
/**********************************************************************************/
/*                                                                                */
/*    Copyright (C) 2005 Oki Electric Industry Co., LTD.                          */
/*                                                                                */
/*    System Name    :  ML674051/ML67Q4061                                        */
/*    Module Name    :  common module                                             */
/*    File   Name    :  common.c                                                  */
/*    Revision       :  01.00                                                     */
/*    Date           :  2005/02/21 initial version                                */
/*                                                                                */
/**********************************************************************************/
#include "ML674061.h"
#include "common.h"

#define	PIOD_PATTERN		0x0018
#define	PIOF_PATTERN		0x003F
#define	PIOD_MASK_PATTERN	0x00E7
#define	PIOF_MASK_PATTERN	0x00C0
#define	INPUT_PIOD_PATTERN	0x00C0

unsigned int	count_interval = 20;	/* timer interrupt interval (use FIQ sample and FIQ handler) */

/****************************************************************************/
/*  LED on                                                                  */
/*  Function : led_on                                                       */
/*      Parameters                                                          */
/*          Input   :   led pattern (cf. commn.h)                           */
/*          Output  :   Nothing                                             */
/****************************************************************************/
void led_on(UBYTE pattern)
{
	UBYTE	gppo_data;
	UBYTE	set_data;
	/********************************************/
	/***  Attention!! : No change this I/F !  ***/
	/********************************************/
	gppo_data = get_value(PO3);
	set_data = ((gppo_data & PIOD_MASK_PATTERN) | ((pattern & INPUT_PIOD_PATTERN) >> 3 ) );
    put_value(PO3, set_data);

	gppo_data = get_value(PO5);
	set_data = ((gppo_data & PIOF_MASK_PATTERN) | (pattern & PIOF_PATTERN));
    put_value(PO5, set_data);

	return;
}
/****************************************************************************/
/*  LED init                                                                */
/*  Function : init_led                                                     */
/*      Parameters                                                          */
/*          Input   :   Nothing                                             */
/*          Output  :   Nothing                                             */
/****************************************************************************/
void init_led(void)
{
	UBYTE  gppo_data;
	UBYTE  set_data;

	/* LED-control(set output mode) LOW-6bits */
	gppo_data = get_value(PM5);
	set_data = ((gppo_data & PIOF_MASK_PATTERN) | PIOF_PATTERN);
    put_value(PM5, set_data);

	/* LED-control(set output mode) HI-2bits */
	gppo_data = get_value(PM3);
	set_data = ((gppo_data & PIOD_MASK_PATTERN) | PIOD_PATTERN);
    put_value(PM3, set_data);


	return;
}

⌨️ 快捷键说明

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