⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queue_2d.c

📁 AVR控制的SAB82525——HDLC通信 循环队列处理 完全是自己写的
💻 C
字号:
extern unsigned char pre_txd[33];
unsigned char Buffer_Send[20][33];
unsigned char front,rear;
extern unsigned char count;
void InitQueue()
	{
		front=0;
		rear=0;
		count=0;
	}
unsigned char QueueEmpty()
	{
		if(count!=0)
			return 0;
		else 
			return 1;
	}

unsigned char QueueFull()
	{
		if(count==20)
			return 1;
		else
			return 0;
	}

void EnQueue(unsigned char txd_data[32],unsigned char num_enQ)    //////入队
	{
		unsigned char i_enQ=0;
		
		for(i_enQ=0;i_enQ<num_enQ;i_enQ++)
		{
			Buffer_Send[rear][i_enQ]=txd_data[i_enQ];
		}
		
		Buffer_Send[rear][32]=num_enQ;
			
		//count++;
		if(rear>=19)
			{
				rear=0;
				count=20+rear-front;
			}
		else
			{
				rear++;
				count=rear-front;
			}
	}
	  
void DeQueue()        ///////出队
	{
		unsigned char i_deQ=0;
		unsigned char num_deQ=0;
		
		num_deQ=Buffer_Send[front][32];
		
		for(i_deQ=0;i_deQ<num_deQ;i_deQ++)
		{
			pre_txd[i_deQ]=Buffer_Send[front][i_deQ];
		}
		
		pre_txd[32]=Buffer_Send[front][32];
		//Plus------------------------------------------------
		/*for(i_deQ=0;i_deQ<33;i_deQ++)
		{
			Buffer_Send[front][i_deQ]=0;
		}*/
		//----------------------------------------------------
              
		//count--;
		if(front>=19)
			{
				front=0;
				count=rear-front;
			}
		else
			{
				front++;
				count=rear-front;
			}
	}

⌨️ 快捷键说明

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