Описание библиотеки микросхемы 5023ВС016 процессора "Спутник"
Функции
Файл ringbuffer.c

Этот файл содержит функции необходимые для взаимодействия с кольцевыми буферами. Подробнее...

#include "ringbuffer.h"

См. исходные тексты.

Функции

void RingBuffer_Init (RINGBUFF_T *RingBuff, void *buffer, int itemSize, int count)
 Инициализация кольцевого буфера. Подробнее...
 
Status RingBuffer_Insert (RINGBUFF_T *RingBuff, const void *data)
 Запись одного элемента в кольцевой буфер. Подробнее...
 
int RingBuffer_InsertMult (RINGBUFF_T *RingBuff, const void *data, int num)
 Запись нескольких элементов в кольцевой буфер. Подробнее...
 
Status RingBuffer_Pop (RINGBUFF_T *RingBuff, void *data)
 Чтение одного элемента из кольцевого буфера Подробнее...
 
int RingBuffer_PopMult (RINGBUFF_T *RingBuff, void *data, int num)
 Чтение массива элементов из кольцевого буфера Подробнее...
 
int RingBuffer_GetSize (RINGBUFF_T *RingBuff)
 Получение размера кольцевого буфера в байтах. Подробнее...
 
int RingBuffer_GetCount (RINGBUFF_T *RingBuff)
 Получения количества элементов, записанных в кольцевой буфер. Подробнее...
 
int RingBuffer_GetFree (RINGBUFF_T *RingBuff)
 Получение размера свободного места в кольцевом буфере Подробнее...
 
int RingBuffer_IsFull (RINGBUFF_T *RingBuff)
 Проверка на наличие свободного места в кольцевом буфере Подробнее...
 
int RingBuffer_IsEmpty (RINGBUFF_T *RingBuff)
 Проверка кольцевого буфера на отсутствие данных Подробнее...
 

Подробное описание

Этот файл содержит функции необходимые для взаимодействия с кольцевыми буферами.

Copyright(C) НПП Цифровые решения, 2017 Copyright(C) Команда разработчиков НПП Цифровые решения Все права защищены.

Программное обеспечение, описанное в этом файле, предназначено только для демонстрационных целей, и предоставляет программистам информацию о продукции организации "Цифровые решения". Это программное обеспечение поставляется "КАК ЕСТЬ" без каких-либо гарантий, "Цифровые решения" отказываются от любых гарантий, фактических или подразумеваемых, включая все подразумеваемые гарантии товарной пригодности, пригодности для конкретной цели и сохранения прав интеллектуальной собственности. Органицация "Цифровые решения" не несет никакой ответственности за использование программного обеспечения, не предоставляет лицензий или прав на патент, авторское право, или любые другие права интеллектуальной собственности, на какие-либо продукты. Организация "Цифровые решения" оставляет за собой право вносить изменения в программное обеспечение без уведомления. Организация "Цифровые решения" также не дает никаких заверений или гарантий, что это программное приложение подойдет для использования без дальнейшего тестирования или модификаций.

Разрешение на использование, копирование, изменение и распространение этого программного обеспечения и документации предоставляется согласно условиям "Цифровых решений" и соответствующих авторских прав своей лицензии без оплаты, при условии, что это программное обеспечнение используется совместно с микроконтроллерами организации "Цифровые решения". Эти права должны распространяться во всех копиях этого кода.

См. определение в файле ringbuffer.c

Функции

§ RingBuffer_GetCount()

int RingBuffer_GetCount ( RINGBUFF_T RingBuff)

Получения количества элементов, записанных в кольцевой буфер.

Аргументы
RingBuffуказатель на структуру кольцевого буфера
Возвращаемые значения
Количествоэлементов, записанных в кольцевой буфер

См. определение в файле ringbuffer.c строка 194

§ RingBuffer_GetFree()

int RingBuffer_GetFree ( RINGBUFF_T RingBuff)

Получение размера свободного места в кольцевом буфере

Аргументы
RingBuffуказатель на структуру кольцевого буфера
Возвращаемые значения
Размерсвободного места в кольцевом буфере

См. определение в файле ringbuffer.c строка 204

§ RingBuffer_GetSize()

int RingBuffer_GetSize ( RINGBUFF_T RingBuff)

Получение размера кольцевого буфера в байтах.

Аргументы
RingBuffуказатель на структуру кольцевого буфера
Возвращаемые значения
Размеркольцевого буфера в байтах

См. определение в файле ringbuffer.c строка 184

§ RingBuffer_Init()

void RingBuffer_Init ( RINGBUFF_T RingBuff,
void *  buffer,
int  itemSize,
int  count 
)

Инициализация кольцевого буфера.

Аргументы
RingBuffуказатель на структуру кольцевого буфера
bufferуказатель на буфер, который будет использоваться в качестве кольцевого
itemSizeразмер элемента буфера
countразмер буфера
Возвращаемые значения
None

См. определение в файле ringbuffer.c строка 40

§ RingBuffer_Insert()

Status RingBuffer_Insert ( RINGBUFF_T RingBuff,
const void *  data 
)

Запись одного элемента в кольцевой буфер.

Аргументы
RingBuffуказатель на структуру кольцевого буфера
dataуказатель на элемент
Возвращаемые значения
Статусоперации

См. определение в файле ringbuffer.c строка 55

§ RingBuffer_InsertMult()

int RingBuffer_InsertMult ( RINGBUFF_T RingBuff,
const void *  data,
int  num 
)

Запись нескольких элементов в кольцевой буфер.

Аргументы
RingBuffуказатель на структуру кольцевого буфера
dataуказатель на первый элемент элемент в массиве для записи
numразмер массива
Возвращаемые значения
(cnt1+ cnt2): число успешно записанных элементов, 0 в случае ошибки

См. определение в файле ringbuffer.c строка 77

§ RingBuffer_IsEmpty()

int RingBuffer_IsEmpty ( RINGBUFF_T RingBuff)

Проверка кольцевого буфера на отсутствие данных

Аргументы
RingBuffуказатель на структуру кольцевого буфера
Возвращаемые значения
1если кольцевой буфер пуст, иначе 0

См. определение в файле ringbuffer.c строка 224

§ RingBuffer_IsFull()

int RingBuffer_IsFull ( RINGBUFF_T RingBuff)

Проверка на наличие свободного места в кольцевом буфере

Аргументы
RingBuffуказатель на структуру кольцевого буфера
Возвращаемые значения
1если кольцевой буфер заполнен, иначе 0

См. определение в файле ringbuffer.c строка 214

§ RingBuffer_Pop()

Status RingBuffer_Pop ( RINGBUFF_T RingBuff,
void *  data 
)

Чтение одного элемента из кольцевого буфера

Аргументы
RingBuffуказатель на структуру кольцевого буфера
dataуказатель на массив, для хранения прочитанного элемента
Возвращаемые значения
Статусоперации

См. определение в файле ringbuffer.c строка 120

§ RingBuffer_PopMult()

int RingBuffer_PopMult ( RINGBUFF_T RingBuff,
void *  data,
int  num 
)

Чтение массива элементов из кольцевого буфера

Аргументы
RingBuffуказатель на структуру кольцевого буфера
dataуказатель на массив, для хранения прочитанных элемента
numмаксимальное число элементов, которое можно сохранить в массиве
Возвращаемые значения
(cnt1+ cnt2): число успешно прочитанных элементов, 0 в случае ошибки

См. определение в файле ringbuffer.c строка 142