at90can_get_buf_message.c

来自「Library for CAN Controler sja1000」· C语言 代码 · 共 55 行

C
55
字号
// ----------------------------------------------------------------------------/* * Copyright (c) 2007 Fabian Greif, Roboterclub Aachen e.V. *  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $Id: at90can_get_buf_message.c 6837 2008-11-16 19:05:15Z fabian $ */// ----------------------------------------------------------------------------#include "at90can_private.h"#include <string.h>#if defined(SUPPORT_FOR_AT90CAN__) && CAN_RX_BUFFER_SIZE > 0// ----------------------------------------------------------------------------uint8_t at90can_get_buffered_message(can_t *msg){	// get pointer to the first buffered message	can_t *buf = can_buffer_get_dequeue_ptr(&can_rx_buffer);		if (buf == NULL)		return 0;		// copy the message	memcpy( msg, buf, sizeof(can_t) );		// delete message from the queue	can_buffer_dequeue(&can_rx_buffer);		return 0xff;}#endif	// SUPPORT_FOR_AT90CAN__

⌨️ 快捷键说明

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