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

📄 main.c

📁 SmartARM2400系列开发板全套资料
💻 C
字号:
/****************************************Copyright (c)****************************************************
**                         Guangzhou ZHIYUAN electronics Co.,LTD.                               
**                                     
**                               http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name:			main.c
** Last modified Date:  2004-09-16
** Last Version:		1.0
** Descriptions:		The main() function example template
**
**--------------------------------------------------------------------------------------------------------
** Created by:			Chenmingji
** Created date:		2004-09-16
** Version:				1.0
** Descriptions:		The original version
**
**--------------------------------------------------------------------------------------------------------
** Modified by:			Li Baihua
** Modified date:		2008-07-03
** Version:				v1.01
** Descriptions:		GPRS
**
*********************************************************************************************************/
#include "main.h"
#include "config.h"

/*********************************************************************************************************
** Function name:		DelayNS
** Descriptions:		延时函数
** input parameters:    uiDly   值越大,延时时间越长
** output parameters:   Nnoe
** Returned value:      Nnoe
*********************************************************************************************************/
void DelayNS (uint32 uiDly)
{
    uint32 i;
    
    for (; uiDly > 0; uiDly--){
        for(i = 0; i < 50000; i++);
    }
}

/*********************************************************************************************************
** Function name:	    main
** Descriptions:		主函数
** input parameters:    Nnoe
** output parameters:   Nnoe
** Returned value:      Nnoe
*********************************************************************************************************/
int main (void)
{
	uint8  i;	
	uint8 TestDat[10]={'h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd'};
	uint8 RecDat[10];

	PCONP  |= 1 << 4;						                            /* 打开UART1					*/	
	PINSEL7 = (PINSEL7 & (~0x0F)) | 0x0F;		                        /* 管脚连接P3.16-TXD1,P3.17-RXD1*/
	U1LCR  = 0x80;	              		                                /* DLAB=1,允许设置波特率		*/
	U1DLM  = ((Fpclk/16)/9600)/256;			                            /* 设置分频值					*/
	U1DLL  = ((Fpclk/16)/9600)%256;	
	U1LCR  = 0x03;					 	                                /* 令DLAB位为0					*/
    	U1FCR &= ~0x07;				 		                            /* 禁用FIFO						*/
	U1IER &= ~0x07;				 		                                /* 禁止UART产生中断				*/
    	
	while(1)
	{
		for (i=0;i<10;i++){					                            /* 发送十字节数据				*/
			U1THR = TestDat[i];				                            /* 发送一个字节					*/
			while ((U1LSR & 0x40) == 0);		                        /* 等待数据发送完毕				*/
		}
		
		for (i=0;i<10;i++){					                            /* 接收十字节数据				*/
			while ((U1LSR & 0x01) == 0);		                        /* 等待接受标志					*/
			RecDat[i] = (uint8)U1RBR;				                    /* 接收一个字节					*/
		}
		for (i=0;i<10;i++){					                            /* 比较收发字节是否相等			*/
			if(RecDat[i] != TestDat[i]){			                    /* 如果接受字节和发送字节不等… */
				BUZZER_Set();	
				DelayNS(30);
				BUZZER_Clr();
				DelayNS(15);
				break;					                                /* ……则蜂鸣一次后重新发送		*/
			}
		}
		if(i<10)
			continue;						                            /* 接收出错重新发送				*/

		BUZZER_Set();						                            /* BEEP蜂鸣表示收发成功			*/
		DelayNS(15);	
		BUZZER_Clr();
		DelayNS(15);
		BUZZER_Set();
		DelayNS(15);	
		BUZZER_Clr();
		DelayNS(15);
		
		DelayNS(300);						                            /* 延时后重新开始				*/	
	}
    return 0;
}
/*********************************************************************************************************
  END FILE
*********************************************************************************************************/

⌨️ 快捷键说明

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