📄 uart_if.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 + -