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

📄 io_example.c

📁 西安明朗公司开发板ML-F020ICB的全部测试代码
💻 C
字号:
/************************************************************************************
*  Copyright (c), 2004-2007,西安铭朗电子科技有限责任公司
*            All rights reserved.
*
* Http:  www.mlarm.com
* Email: mlarm@mlarm.com
*
* File name: IO_Example.c
* Project  : ML-F020ICB
* Processor: C8051F020
* Compiler : Keil C51 Compiler
* 
* Author:  李林利
* Version: 1.20
* Date:    2007.6.1
* Email:   GavinLi@126.com
* 
* Description: 本文件是16路IO端口测试程序文件;
*
* Others: none;
*
* Function List:
*	1. void IO_Proc(void)			
*
* History:
*   1. Author:       李林利  
*	   Version: 	 1.10
*	   Date:         2007.3.12
*      Modification: none
*
*   2. Author:       李林利   
*	   Version: 	 1.00
*      Date:         2004.11.24
*      Modification: 建立文件
*
*************************************************************************************/
/************************************************************************************/
// 引用外部头文件
#include  "..\config\Const.h"
#include  "..\driver\uart.h"
#include  "..\driver\delay.h"
#include  "..\driver\IO.h"
/************************************************************************************/

/************************************************************************************/
// 常量及全局变量定义
/************************************************************************************/

/*************************************************************************************/
//
// 							IO端口测试程序函数定义
//
/*************************************************************************************/

/***********************************************************************************
* Function: IO_Proc;
*
* Description: IO端口测试程序;
*              
* Input:  none;
*
* Return: none;
*
* Note:   none;
************************************************************************************/
void IO_Proc(void)
{
	unsigned char i,cmd;
	unsigned int  val;
	Uart0_SendBlock("IO test starting!\n\r",19,&i);
	IO_Init();
	while(1)
	{
		cmd = 0;
		if (Uart0_GetCharsRxBuf()>0)
		{
			
			Uart0_RecvChar(&cmd);
		}

    	switch (cmd)
        {
	         case 'A':
            	  IO_SetDir(0xFFFF);
				  Uart0_SendBlock("DIR = 0xFFFF\n\r",16,&i);
				  cmd = 0;
		  	 break;
			 case 'B':
			 	for(i=1;i<=16;i++)
				  IOx_SetDir(i,1);
				 Uart0_SendBlock("DIRx = 1\n\r",16,&i);
				 cmd = 0;
		  	 break;

			 case 'M':
            	  IO_SetDir(0x0);
				  Uart0_SendBlock("DIR = 0x0000\n\r",13,&i);
				  cmd = 0;
		  	 break;
			 case 'N':
            	  for(i=1;i<=16;i++)
				  	IOx_SetDir(i,0);
				  Uart0_SendBlock("DIRx = 0\n\r",16,&i);
				  cmd = 0;
		  	 break;

   			 case '1':
            	  IO_PutVal(0xFFFF);
				  Delay_s(1);
				  IO_PutVal(0x0);
				  Delay_s(1);
		  	 break;
			 case '2':
			 	for(i=1;i<=16;i++)
				{
            	  	IOx_PutVal(i,1);
					Delay_ms(100);
				}
				//Delay_ms(10);
				for(i=1;i<=16;i++)
				{
            	  	IOx_PutVal(i,0);
					Delay_ms(100);
				}
		  		//Delay_s(1);
			 break;
			
			 case '3':
			 	  for(i=1;i<=16;i++)
				  {
            	  	val=IOx_GetVal(i);
				    Uart0_SendChar(val);
				  }				  
				  Delay_s(1);
		  	 break;
			 
			 case '4':
            	  val=IO_GetVal();
				  Uart0_SendChar((unsigned char)(val>>8));
				  Uart0_SendChar((unsigned char)val);
				  Delay_s(1);
		  	 break;

			 case 'E':
            	  Uart0_SendBlock("IO test end!\n\r",15,&i);
				  return;
		  	 break;

			 default:

 			 break;
		}
	}
	
}

/***********************************************************************************/
// 文件结束
/***********************************************************************************/

⌨️ 快捷键说明

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