📄 io.c
字号:
/********************************************************************************\
\* DEC6713_GPIO.c V1.00 *\
\* Copyright 2004 by SEED Electronic Technology LTD. *\
\* All rights reserved. SEED Electronic Technology LTD. *\
\* Restricted rights to use, duplicate or disclose this code are *\
\* granted through contract. *\
\* Designed by:SEED *\
\********************************************************************************/
/********************************************************************************\
\* The example introduces using technique for GPIO. It generates a certain
frequency pulse on pin GPIO X. LED D8 will twinkle,if the routine runs correctly.*\
\********************************************************************************/
#include "DEC6713.h"
#include "DEC6713_DTK.H"
/********************************************************************************/
//static GPIO_Handle hGpio;
extern far void vectors();
/*定义交通灯IO口的地址为0xB01C0000*/
/*LED灯IO口的地址为0xB01C0004*/
//实验操控:
//选择TESTCOMMAND,1为自动运行;2为夜间模式;3为交通灯东西通;
// 4为交通灯南北通;5为禁行。
//选择TESTDATA,0-255之间。led灯显示。
#define TESTCOMMAND 2 //交通灯操作命令选择
#define TESTDATA 100 //LED操作参数选择
unsigned int TestCommand =0;//无操作
/*交通灯实验*/
#define TRAFFICAUTO 0xAA14//自动运行模式
#define TRAFFICNIGHT 0xAA16//夜间模式
#define TRAFFICEAST 0xAA1A//东西通行
#define TRAFFICSOUTH 0xAA1B//南北通行
#define TRAFFICFORBID 0xAA1C//禁行
#define EASTEWEST 0x861 //交通灯东西通(南北禁行)
#define SOUTHNORTH 0x30c //交通灯南北通(东西禁行)
#define IOCHANGE 0x492 //交通灯各方向黄灯亮
#define ALLFORBIN 0x924 //交通灯各方向均禁行
void delay(int period);
/********************************************************************************/
/********************************************************************************/
main()
{
/* Initialize CSL,must when using CSL. */
//CSL_init();
/* Initialize DEC6713 board. */
DEC6713_init();
#if TESTCOMMAND==1
TestCommand =TRAFFICAUTO;//自动运行
#endif
#if TESTCOMMAND==2
TestCommand =TRAFFICNIGHT;//夜间模式
#endif
#if TESTCOMMAND==3
TestCommand =TRAFFICEAST;//交通灯东西通
#endif
#if TESTCOMMAND==4
TestCommand =TRAFFICSOUTH;//交通灯南北通
#endif
#if TESTCOMMAND==5
TestCommand =TRAFFICFORBID;//禁行
#endif
for(;;)
{
/*LED灯控制*/
//port8002 = TESTDATA;
DEC6713_DTK_rset(DEC6713_DTK_LED,0x0064);
delay(100);
switch( TestCommand )
{
/*自动运行模式*/
case TRAFFICAUTO:
/*白天模式*/
/*从东西到南北*/
DEC6713_DTK_rset(DEC6713_DTK_TRF,EASTEWEST);
delay(2000);
DEC6713_DTK_rset(DEC6713_DTK_TRF,IOCHANGE);
delay(1000);
DEC6713_DTK_rset(DEC6713_DTK_TRF,SOUTHNORTH);
delay(8000);
/*从南北到东西*/
DEC6713_DTK_rset(DEC6713_DTK_TRF,SOUTHNORTH);
delay(2000);
DEC6713_DTK_rset(DEC6713_DTK_TRF,IOCHANGE);
delay(1000);
DEC6713_DTK_rset(DEC6713_DTK_TRF,EASTEWEST);
delay(8000);
break;
/*夜间模式*/
case TRAFFICNIGHT:
DEC6713_DTK_rset(DEC6713_DTK_TRF,IOCHANGE);
delay(6000);
DEC6713_DTK_rset(DEC6713_DTK_TRF,0);
delay(6000);
break;
/*交通灯东西通*/
case TRAFFICEAST:
DEC6713_DTK_rset(DEC6713_DTK_TRF,IOCHANGE);
delay(1000);
DEC6713_DTK_rset(DEC6713_DTK_TRF,EASTEWEST);
delay(2000);
TestCommand = 0;
break;
/*交通灯南北通*/
case TRAFFICSOUTH:
DEC6713_DTK_rset(DEC6713_DTK_TRF,IOCHANGE);
delay(1000);
DEC6713_DTK_rset(DEC6713_DTK_TRF,SOUTHNORTH);
delay(2000);
TestCommand = 0;
break;
/*禁行*/
case TRAFFICFORBID:
DEC6713_DTK_rset(DEC6713_DTK_TRF,IOCHANGE);
delay(1000);
DEC6713_DTK_rset(DEC6713_DTK_TRF,ALLFORBIN);
delay(2000);
TestCommand = 0;
break;
default:
break;
}
}
}
void delay(int period)
{
int i, j;
for(i=0; i<period; i++)
{
for(j=0; j<0x1000; j++);
}
}
/******************************************************************************\
* End of GPIO_Test.c
\******************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -