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

📄 printc.c

📁 lpc2468以太网驱动
💻 C
字号:
/*****************************************************************************
 *   uart.c:  UART API file for NXP LPC23xx/24xx Family Microprocessors
 *
 *   Copyright(C) 2006, NXP Semiconductor
 *   All rights reserved.
 *
 *   History
 *   2006.07.12  ver 1.00    Prelimnary version, first Release
 *
******************************************************************************/
#include "LPC24xx.h"                        /* LPC23xx/24xx definitions */
#include "type.h"
#include "target.h"

#include "uart.h"

volatile DWORD UART0Status, UART1Status;
volatile BYTE UART0TxEmpty = 1, UART1TxEmpty = 1;
volatile BYTE UART0Buffer[BUFSIZE], UART1Buffer[BUFSIZE];
volatile DWORD UART0Count = 0, UART1Count = 0;

/*****************************************************************************
** Function name:		UARTInit
**
** Descriptions:		初始化UART0,
** 					设置PINSEL,时钟,校验位,停止位,FIFO等
**
** parameters:			UART baudrate 波特率
** Returned value:		true or false, 如果中断处理不能被VIC表处理则返回错误
** 
*****************************************************************************/
DWORD UARTInit( DWORD baudrate )
{
    DWORD Fdiv;
 	
	PINSEL0 |= 0x00000050;
    U0LCR = 0x83;		/* 8 bits, no Parity, 1 Stop bit */
    Fdiv = ( Fpclk / 16 ) / baudrate ;	/* 设置baud rate */
    U0DLM = Fdiv / 256;							
    U0DLL = Fdiv % 256;
	U0LCR = 0x03;		/* DLAB = 0 */
    U0FCR = 0x07;		/* 使能并且复位TX和RX的FIFO */

    //U0IER = IER_RBR | IER_RLS ;	/* 使能UART0的中断 */

	return (TRUE);
}


/*****************************************************************************
** Function name:		UARTSend
**
** Descriptions:		通过UART0根据数据长度送出一串数据
**
** parameters:			buffer pointer
** Returned value:		None
** 
*****************************************************************************/
void UARTSend(char *BufferPtr)
{  	    
	while(1)
	{
		if(*BufferPtr == '\0')	break;
		UARTSendByte(*BufferPtr++);
	}
}

/*****************************************************************************
** Function name:		UARTSendByte
**
** Descriptions:		通过UART输出一个BYTE的数据
** parameters:			data
** Returned value:		None
**
*****************************************************************************/
void UARTSendByte(BYTE Data)
{
	U0THR = Data;
	while((U0LSR &0x40) ==0);
}

/*****************************************************************************
** Function name:		putch
**
** Descriptions:		实现putch输出函数,打印出多个字符
** parameters:			data
** Returned value:		None
**
*****************************************************************************/
void put_ch(char data)
{
	UARTSend(&data);
}

/*****************************************************************************
** Function name:		puts
**
** Descriptions:		实现puts输出函数,打印出单个字符
** parameters:			*str
** Returned value:		None
**
*****************************************************************************/
void put_s(char *str)
{	
	UARTSend(str);
}


⌨️ 快捷键说明

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