📄 stream.h
字号:
/****************************************Copyright (c)****************************************************
** Guangzhou ZHIYUAN electronics Co.,LTD.
**
** http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name: stream.c
** Last modified Date: 2007-12-18
** Last Version: 1.0.1
** Descriptions: 2440 UART 流设备操作库
**
**--------------------------------------------------------------------------------------------------------
** Created by: Hanhui
** Created date: 2007-12-18
** Version: 1.0.0
** Descriptions: 2440 UART 流设备操作库
**
**--------------------------------------------------------------------------------------------------------
** Modified by: lixintian
** Modified date: 2008-04-07
** Version: 1.0.1
** Descriptions: 移植到threadX
**
*********************************************************************************************************/
#ifndef __STREAM_H
#define __STREAM_H
/*********************************************************************************************************
2440 UART 流类型
*********************************************************************************************************/
typedef struct {
unsigned int uiCom; /* 串口号 */
unsigned int uiIsCreate; /* 是否被建立了 */
TX_SEMAPHORE *WriteLock; /* 写操作锁 */
TX_SEMAPHORE *ReadLock; /* 写操作锁 */
char *pBufferStart;
char *pBufferEnd;
char *pReadIndex;
char *pWriteIndex;
int iByfferSize;
int iRecvCnt;
int iErr;
unsigned int uiBaud; /* 波特率 */
unsigned int uiStopBit; /* 结束位 */
unsigned int uiDataBit; /* 数据位 */
unsigned int uiCheck; /* 校验选项 */
} STREAM_CLASS;
typedef STREAM_CLASS *PSTREAM_CLASS; /* 流设备类型 */
/*********************************************************************************************************
2440 UART 流类型控制宏
*********************************************************************************************************/
#define COM0 0
#define COM1 1
#define COM2 2
#define STREAM_SET_BAUD 10 /* 设置波特率 */
#define STREAM_GET_BAUD 11 /* 获取波特率 */
#define STREAM_SET_STOPBIT 20 /* 设置结束位 */
#define STREAM_GET_STOPBIT 21 /* 获取结束位 */
#define STREAM_SET_DATABIT 30 /* 设置数据位 */
#define STREAM_GET_DATABIT 31 /* 获取数据位 */
#define STREAM_SET_CHECK 40 /* 设置校验 */
#define STREAM_GET_CHECK 41 /* 获取校验 */
#define STREAM_NREAD 80 /* 还有多少数据未读出 */
/*********************************************************************************************************
** Function name: streamCreate
** Descriptions: 创建流类型
** input parameters: uiCom 串口号
** pcBuffer 缓冲区
** uiMaxBytes 缓冲区大小
** output parameters: NONE
** Returned value: 流类型句柄, 错误返回 NULL
*********************************************************************************************************/
PSTREAM_CLASS streamCreate(unsigned int uiCom,
char *pcBuffer,
unsigned int uiMaxBytes);
/*********************************************************************************************************
** Function name: streamWrite
** Descriptions: 写流类型
** input parameters: psrtclassCom 控制块指针
** pcBuffer 缓冲区
** uiBytes 发送的字节数
** output parameters: NONE
** Returned value: 实际发送的字节数
*********************************************************************************************************/
int streamWrite(PSTREAM_CLASS psrtclassCom,
char *pcBuffer,
unsigned int uiBytes);
/*********************************************************************************************************
** Function name: streamRead
** Descriptions: 读流类型
** input parameters: psrtclassCom 控制块指针
** pcBuffer 缓冲区
** uiMaxBytes 缓冲的字节数
** output parameters: NONE
** Returned value: 实际读出的字节数
*********************************************************************************************************/
int streamRead(PSTREAM_CLASS psrtclassCom,
char *pcBuffer,
unsigned int uiMaxBytes);
/*********************************************************************************************************
** Function name: streamIoctl
** Descriptions: 流类型控制
** input parameters: psrtclassCom 控制块指针
** iCommand 控制命令
** iArg 命令参数
** output parameters: NONE
** Returned value: 根据命令确定返回值
*********************************************************************************************************/
int streamIoctl(PSTREAM_CLASS psrtclassCom,
int iCommand,
int iArg);
#endif
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -