添加到队列
uint8_t QUEUE_add(struct CommQueue *queue,struct CommData data)
{
uint8_t rtl = 1;
__disable_irq();
if(queue->isEmpty)
{
memcpy(&queue->data[queue->tail],&data,sizeof(data));
queue->tail ++;
queue->tail %= QUEUE_LENGTH;
queue->isEmpty = 0;
}
else
{
if(queue->tail == queue->head)
{
__enable_irq();
return 0;
}
memcpy(&queue->data[queue->tail],&data,sizeof(data));
queue->tail ++;
queue->tail %= QUEUE_LENGTH;
}
__enable_irq();
return rtl;
}
|