⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 io.c

📁 这是一个在CCS平台下开发的一个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 + -