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

📄 serial.c

📁 这是基于arm s3c44b0处理器的开发平台的串口传输的简单的程序
💻 C
字号:
/****************************************************************************/
/*                                                                          */
/* FILE NAME                                      VERSION                   */
/*                                                                          */
/* SERIAL.C                                            1.0                  */
/*                                                                          */
/* DESCRIPTION                                                              */
/*                                                                          */
/*     JX44B0(S3C44B0X)串口通讯实验                                         */
/*                                                                          */
/*                                                                          */
/* DATA STRUCTURES                                                          */
/*                                                                          */
/* FUNCTIONS :                                                              */
/*     在JX44B0教学实验箱与PC机见进行串口通讯连接                           */
/*                                                                          */
/* DEPENDENCIES                                                             */
/*     JX44B0-1                                                             */
/*     JX44B0-2                                                             */
/*     JX44B0-3                                                             */
/*                                                                          */
/*                                                                          */
/* NAME:                                                                    */
/* REMARKS:                                                                 */
/*                                                                          */
/*								Copyright (C) 2003 Wuhan CVTECH CO.,LTD     */
/****************************************************************************/

/****************************************************************************/
/* PC上超级终端工具:                                                       */
/*     Windows 超级终端  -- 开始->附件->通讯->超级终端                      */
/*     MTTTY             -- JX44B0光盘Tools目录下                           */
/* 超级终端设置                                                             */
/*     波特率: 115200                                                       */
/*     无校验                                                               */
/*     数据位: 8                                                            */
/*     停止位: 1                                                            */
/*     无流控                                                               */
/****************************************************************************/

/* 包含文件 */
#include "option.h"
#include "44blib.h"
#include "44b.h"

/*****************************************************************************
// Function name	: Main
// Description	    : 串口测试程序主函数
//                    从串口接收数据,一直等待到有数据收到,然后将接收到的数据
//                    发送到PC,如果是换行字符则补充一个回车
// Return type		: int
// Argument         : void
*****************************************************************************/
void Main()
{
	unsigned char 	data;
	
	unsigned int mclk = 60*1024*1024;	/* 60MHZ							*/
	unsigned int baud = 115200;			/* 115200 BPS						*/
	
	rUFCON0=0xf7;						/* 设置FIFO属性,并清除FIFO中的内容 */
    
    rUMCON0=0x0;						/* 关闭流控功能						*/
   	
    rULCON0=0x3;						/* 设置8数据位,1停止位,无奇偶校验	*/
    
    rUCON0=0x345;						/* 设置中断为电平触发,关闭超时功能	*/
    
    rUBRDIV0=( (int)(mclk/16.0/baud + 0.5) -1 );	/* 设置波特率			*/
    
    while(1)
    {
    	/* 从串口接收数据,一直等待到有数据收到 */
		while((rUTRSTAT0 & 0x1)==0x0);	/* 等待数据 */

	    data = rURXH0;					/* 读取数据 */
	    
	    /* 将接收到的数据发送到PC,如果是换行字符则补充一个回车 */
	    if(data=='\r')					/*如果是换行字符,补充一个回车 */
	    {
			while(!(rUTRSTAT0 & 0x2));	/* 等待发送缓冲空.*/
			rUTXH0 = data;				/* 将数据写到数据端口 */
			while(!(rUTRSTAT0 & 0x2));	/* 等待发送缓冲空.*/
			rUTXH0 = '\n';				/* 将数据写到数据端口 */
	    	
	    }
	    else
	    {
			while(!(rUTRSTAT0 & 0x2));	/* 等待发送缓冲空.*/
			rUTXH0 = data;				/* 将数据写到数据端口 */
		}
	}
}

⌨️ 快捷键说明

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