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

📄 main.c

📁 致远的MagicARM2410上的关于ARM的所有实验代码
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                               Guangzhou ZHIYUAN electronics Co.,LTD.
**                                     
**                                 http://www.zyinside.com
**
**--------------File Info-------------------------------------------------------------------------------
** File Name: main.c
** Last modified Date: 2006-01-14 
** Last Version: v1.0
** Description: RS485通讯实验---从机,不断地接收RS485总线上的字符,接着通过RS232发送出去。
** Note: 请短接实验箱上的JP1跳线,将JP2跳线短接"485R"端,然后使用双绞线将从机(实验箱)的RS485接口
**       与主机(实验箱)的RS485接口相连。
**       使用串口延长线把从机(实验箱)的CZ11与PC机的串口相连。PC机端使用"超级终端"接收数据,设置
**       波持率为9600,8位数据位,1位停止位,无奇偶校验位。
**------------------------------------------------------------------------------------------------------
** Created By: 黄绍斌
** Created date: 2006-01-14 
** Version: v1.0
** Descriptions:
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Description:
**
********************************************************************************************************/
#include  "config.h"


// 定义RS485发送/接收控制口。为高电平时使能发送。
#define  RS485_CONS     (1<<13)         /* GPE13 */
#define  RS485_CONC     (~(1<<13))      /* GPE13 */ 

// 使能RS485数据发送
#define  RS485_SEND()   rGPEDAT = rGPEDAT | RS485_CONS  
 
// 使能RS485数据接收
#define  RS485_RCV()    rGPEDAT = rGPEDAT & RS485_CONC 




/*********************************************************************************************************
** Function name: DelayNS
** Descriptions: 长软件延时。
**              延时时间与系统时钟有关。
** Input: dly	延时参数,值越大,延时越久
** Output: 无
** Created by: 黄绍斌
** Created Date: 2005-12-31 
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified Date: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void  DelayNS(uint32  dly)
{  
	uint32  i;

   	for(; dly>0; dly--) 
       for(i=0; i<50000; i++);
}


// RS485接收字符临时变量
uint8 g_getch;

/*********************************************************************************************************
** Function name: main
** Descriptions: RS485通讯实验---从机,不断地接收RS485总线上的字符,接着通过RS232发送出去。            
** Input: 无
** Output: 系统返回值0
** Created by: 黄绍斌
** Created Date: 2005-12-31 
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified Date: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
int  main(void)
{
    uint32  i;
    	
    // I/O口初始化
    rGPECON = (rGPECON & (~(0x03<<26))) | (0x01<<26);
    rGPEUP  = rGPEUP | (0x01<<13);    
    RS485_RCV();        // 设置RS485数据接收
    
    UART_Select(0);     // 选择串口0,做RS232通讯
    UART_Init();        // 初始化串口
    UART_SendStr("\n\n\n\n\n\n\n  RS485 receive data: \n");
    

    UART_Select(1);     // 选择串口1,做RS485通讯
    UART_Init();        // 初始化串口
    
    RS485_RCV();        // 设置RS485数据接收 
    while(1)    
	{	
	    UART_Select(1);             // 选择RS485总线接收 
        g_getch = UART_GetKey();    // 接收字符
        for(i=0; i<1000; i++);        
            
        UART_Select(0);             // 选择RS232总线发送
        UART_SendByte(g_getch);     // 发送接收到的字符        	          
	}
		
   	return(0);
}

/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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