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

📄 uart_if.h

📁 epson usb2.0 控制芯片 S1R72V05 固件程序。
💻 H
字号:
/*
================================================================================
* @file   UART_IF.h
* @brief  UART interface module
* @author 2006/03/29 Michiru Kagaya
* Copyright (C)SEIKO EPSON Corp. All Rights Reserved.
================================================================================
*/

#ifndef UART_IF_H
#define UART_IF_H

#ifdef __cplusplus
	extern "C"{
#endif // __cplusplus

//=================================
// 		Type declaration
//=================================
typedef short (*UART_IF_CALLBACK )
	( unsigned short wMsg, unsigned short wParam0, void *pParam1 );

//=================================
// 		Define declaration
//=================================

// --- Status ---
#ifndef STATUS_SUCCESS
	#define STATUS_SUCCESS				1
#endif // STATUS_SUCCESS
#ifndef STATUS_UNSUCCESSFUL
	#define STATUS_UNSUCCESSFUL	-1
#endif // STATUS_UNSUCCESSFUL
#ifndef STATUS_INVALID_PARAMETER
	#define STATUS_INVALID_PARAMETER	-2
#endif // STATUS_INVALID_PARAMETER

#define UART_IF_STATUS_HW_ERROR			-2		// Hardware error
#define UART_IF_STATUS_BUF_OVERFLOW		-3		// Buffer overflow
#define UART_IF_RXFIFO_EMPTY			-4		// From the reading FIFO
#define UART_IF_STATUS_TX_NOT_READY		1		// It is impossible to transmit

// --- Messages ---
#define UART_IF_RCVD_DATA		1
#define UART_IF_SND_DATA_CMP	2
//#define UART_IF_RCV_DATA_CMP	3


//=================================
// 		structure declaration
//=================================

// UART operation inforamtion
//---------------------------
typedef struct tagUART_IF_PARAM {
	unsigned char	bChannel;		// Using channel number
	unsigned char	bBaudRate;		// Baud Rate
	unsigned char	bDataBit;		// Data Bit
	unsigned char	bParity;		// Parity
	unsigned char	bStopBit;		// Stop Bit
	unsigned char	bFlowControl;	// Control flow
}UART_IF_PARAM, *PUART_IF_PARAM;

// Transmission parameter
//----------------------------
typedef struct tagUART_IF_TX_STS {
	unsigned char	bChannel;
	unsigned char	wActSize;
}UART_IF_TX_STS, *PUART_IF_TX_STS;

// receiving parameter
//----------------------------
typedef struct tagUART_IF_RX_PARAM {
	unsigned short	wReqSize;			// Transmission size
	unsigned char*	wReqAddr;			// data pointer
}UART_IF_RX_STS, *PUART_IF_RX_STS;

//=================================
// 	Functional prototype
//=================================

short UART_IFInit( void );
short UART_IFOpen( const PUART_IF_PARAM psParam, UART_IF_CALLBACK pfnRcvdCallback );
short UART_IFClose( unsigned char bChannel );
short UART_IFReadData( unsigned char bChannel, unsigned short wSize, unsigned char* pData, unsigned short* wActSize );
short UART_IFWriteData( unsigned char bChannel, unsigned short wSize, unsigned char* pData, UART_IF_CALLBACK pfnCallback );

// Please be sure to register this function to the interrupt handler
void UART_IF_Interrupt( void );			// Interrupt function


#ifdef __cpulsplus
	}
#endif // __cplusplus

#endif // UART_IF_H

⌨️ 快捷键说明

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