123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- // #include "queue.h"
- // /// front ... rear 数据方向 ->
- // /* 队列的顺序存储结构(循环队列) */
- // can_queue_tag can_tx_queue;
- // can_queue_tag can_rx_queue;
- // /****************************************************
- // * 函 数 名:init_queue
- // * 函数功能:初始化队列
- // * 入口参数:无
- // * 说 明:
- // ****************************************************/
- // void queue_init(p_can_queue_tag p_queue)
- // { /* 构造一个空队列Q */
- // p_queue->head = p_queue->tail = 0; /*空队列*/
- // p_queue->count = 0;
- // }
- // /****************************************************
- // * 函 数 名:is_queue_empty
- // * 函数功能:查询队列是否为空
- // * 入口参数:Q 队列
- // * 说 明:空队列,返回SUCCESS;否则返回ERROR
- // ****************************************************/
- // uint8_t queue_empty(p_can_queue_tag p_queue)
- // { /* 若*/
- // return p_queue->count == 0;
- // }
- // uint8_t queue_full(p_can_queue_tag p_queue)
- // { /* 若*/
- // return p_queue->count == MAX_QSIZE;
- // }
- // /****************************************************
- // * 函 数 名:queue_length
- // * 函数功能:初始化长度
- // * 入口参数:Q 队列
- // * 说 明:
- // ****************************************************/
- // uint16_t queue_length(can_queue_tag p_queue)
- // { /* 返回Q的元素个数,即队列的长度 */
- // return (p_queue.tail - p_queue.head + MAX_QSIZE) % MAX_QSIZE;
- // }
- // /****************************************************
- // * 函 数 名:get_head
- // * 函数功能:获取对头数据
- // * 入口参数:Q 队列
- // * 说 明:
- // ****************************************************/
- // uint8_t get_head(
- // can_queue_tag *p_queue,
- // pdu_tag *e)
- // { /* 若队列不空,则用e返回Q的队头元素,并返回OK;否则返回ERROR*/
- // if (p_queue->head == p_queue->tail) /* 队列空 */
- // return Q_ERR;
- // *e = p_queue->can_message[p_queue->head];
- // p_queue->head = (p_queue->head + 1) % MAX_QSIZE;
- // return Q_OK;
- // }
- // /****************************************************
- // * 函 数 名:insert_queue
- // * 函数功能:队列插入数据
- // * 入口参数:Q 待插入队列 e 待插入数据
- // * 说 明:
- // ****************************************************/
- // QUEUE_STATUS en_queue(p_can_queue_tag p_queue,
- // pdu_tag data)
- // {
- // if (queue_full(p_queue))
- // return Q_FULL;
- // p_queue->count++;
- // p_queue->can_message[p_queue->head] = data;
- // p_queue->head = (p_queue->head + 1) % MAX_QSIZE;
- // return Q_OK;
- // /* 插入元素e为Q的新的队尾元素 */
- // // if ((p_queue->tail + 1) % MAX_QSIZE == p_queue->head) /* 队列满 */
- // // return ERROR;
- // // p_queue->can_message[p_queue->tail] = e;
- // // p_queue->tail = (p_queue->tail + 1) % MAX_QSIZE;
- // // return SUCCESS;
- // }
- // QUEUE_STATUS de_queue(p_can_queue_tag p_queue,
- // pdu_tag data)
- // { /* 插入元素e为Q的新的队尾元素 */
- // // if ((p_queue->tail + 1) % MAX_QSIZE == p_queue->head) /* 队列满 */
- // // return ERROR;
- // // p_queue->can_message[p_queue->tail] = e;
- // // p_queue->tail = (p_queue->tail + 1) % MAX_QSIZE;
- // // return SUCCESS;
- // if (queue_empty(p_queue))
- // return Q_EMPTY;
- // data = p_queue->can_message[p_queue->tail];
- // p_queue->tail = (p_queue->tail + 1) % MAX_QSIZE;
- // p_queue->count--;
- // return Q_OK;
- // }
|