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

📄 can_buffer.h

📁 can initialization for coldfire microcontorllers
💻 H
字号:
/************************************************************************
*
*  Freescale Semicondactor
*  ALL RIGHTS RESERVED
*  (c) Copyright 2004Freescale Semiconductor
*
*************************************************************************
*
*  FILE NAME: can_buffer.h
*
*  PURPOSE:
*
*  AUTHOR(s): Igor Byeda
*
*************************************************************************/
#ifndef _CAN_BUFFER_H
#define _CAN_BUFFER_H

#include "sys_global.h"


/************************************************************************
*    Ring Buffer internal data structure
*************************************************************************/

typedef struct 
{
	can_Message_t * pBuf;
	uint32 nBufSize;			// the size of the ring buffer
	uint32 pRD;				// the read pointer (local array index)
	uint32 pWR;				// the write pointer (local array index)
	uint32 tmp;				// temporary field to make functions 'thread safe'
	uint32 tmp2;				// temporary field to make functions 'thread safe'
} rb_obj_t;

/************************************************************************
*     Function Prototypes
*************************************************************************/    
rb_obj_t * rb_Create(uint32 bufSizeWanted);
void rb_Destroy(rb_obj_t * rb);

uint32 rb_get_FreeSpace(rb_obj_t * rb);
uint32 rb_get_DataToReadSize(rb_obj_t * rb);

uint32 rb_data_Write(rb_obj_t * rb, can_Message_t * pExtBuf, uint32 nExtLen);
uint32 rb_data_Read (rb_obj_t * rb, can_Message_t * pExtBuf, uint32 nExtLen);

can_Message_t * rb_data_WriteOneVirtual(rb_obj_t *);
can_Message_t * rb_data_ReadOneVirtual(rb_obj_t *);
uint32 rb_data_WriteOneBack(rb_obj_t *);

#endif /* _CAN_BUFFER_H */

⌨️ 快捷键说明

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