/**
******************************************************************************
* @file
* @author
* @version
* @date
* @brief
* @function List:
******************************************************************************
* @attention
*
*
*
© COPYRIGHT 2021
******************************************************************************
* @History:
* @Author:
* @Data:
* @Version:
*/
#include "queue_entity.h"
/**
* @brief
* @param input:
* @param output:
* @return none:
* @calls
* @calls by
* @others
*/
#ifdef TEST_MODEL_QUEUE
#define MAX_QUEUE_QSIZE 8u
typedef u32 queue_data_elem;
static sequential_queue_s Q1 ;
static queue_data_elem Q1buf[MAX_QUEUE_QSIZE]; /* 隊列 */
typedef struct
{
QUEUE_RIGHT_FLAG_E empty;
u16 length;
queue_data_elem value;
}queue_test_s;
static queue_test_s queue_test = {QUEUE_FALSE,0u,0u } ;
/*考虙到測試代碼中都包含11.4 條 批量過虙*/
/*PCLINT_ERROS_928*/ /*lint -e928 */ /* 928 11.4(建議): 不應在某類型對像指針和其他不同類型對像指針之間進行強制轉換。*/
/*考虙到測試代碼中都包含 該無返回值的過虙 批量過虙*/
/*PCLINT_ERROS*/ /*lint -e534 */ /*忽略該函數的返回結果*/
/**
* @brief 若隊列不空,則刪除Q中的某一個元素
* @param input: seq : 順序隊列;i表示元素地址; fdo 刪除的方法
* @param output: element: 將頭元素數據傳給外部的變量;
* @return 是否操作成功
* @calls
* @calls by
* @others
*/
void queue_test_task(void)
{
u16 i,j;
u16 start,end ;
queue_data_elem l_value;
/*PCLINT_ERROS_928*/ /*lint --e(928) */ /* 928 11.4(建議): 不應在某類型對像指針和其他不同類型對像指針之間進行強制轉換。*/
/*PCLINT_ERROS_960*/ /*lint --e(960) */ /*表達式是函數參數 不能強制隱制轉換*/
queue_init(&Q1,(sequential_queue_elem*)&Q1buf[0],MAX_QUEUE_QSIZE,sizeof(queue_data_elem));
queue_test.empty = queue_get_empty(Q1); /* 初始化隊列 */
if(queue_test.empty == QUEUE_TRUE)
{
#if 0
queue_add_element(&Q1,0xa1);
queue_add_element(&Q1,0xa2);
queue_add_element(&Q1,0xa3);
queue_add_element(&Q1,0xa4);
queue_add_element(&Q1,0xa5);
length = queue_get_length(Q1);
queue_del_element(&Q1,&queue_test.value);
length = queue_get_length(Q1);
queue_del_element(&Q1,&queue_test.value);
length = queue_get_length(Q1);
queue_del_element(&Q1,&queue_test.value);
length = queue_get_length(Q1);
queue_del_element(&Q1,&queue_test.value);
length = queue_get_length(Q1);
queue_add_element(&Q1,0xb1);
queue_add_element(&Q1,0xb2);
queue_add_element(&Q1,0xb3);
queue_add_element(&Q1,0xb4);
queue_add_element(&Q1,0xb5);
length = queue_get_length(Q1);
queue_del_element(&Q1,&queue_test.value);
length = queue_get_length(Q1);
queue_del_element(&Q1,&queue_test.value);
length = queue_get_length(Q1);
queue_del_element(&Q1,&queue_test.value);
length = queue_get_length(Q1);
queue_add_element(&Q1,0xc1);
queue_add_element(&Q1,0xc2);
queue_add_element(&Q1,0xc3);
queue_add_element(&Q1,0xc4);
queue_add_element(&Q1,0xc5);
queue_del_element(&Q1,&queue_test.value);
length = queue_get_length(Q1);
for(i=0;i<(MAX_QUEUE_QSIZE+5);i++)
{
queue_add_element(&Q1,0xa1 + i);
}
for(i=Q1.front;i