nwk_tx_queue.c

来自「ucos在NEC平台下的移植」· C语言 代码 · 共 67 行

C
67
字号
//#pragma  section @@DATA Nwk_tx_queue at 0xF300
#include "includes.h"
NWK_TX_PACKET nwkTxPacketQueue[NWK_OPT_TX_QUEUE_SIZE];
NWK_TX_INFO      nwkTxInfo;
//---------------------------------------------------------------------------------
//    void nwkTxPoolInit();
//
//    DESCRIPTION:
//            Initialize the nwk tx packet pool.
//    PARAMETER:
//            NO.
//    RETURN-VALUE
//            NO.
//---------------------------------------------------------------------------------
void nwkTxQueueInit()
{
  UINT8 i ;
  for (i= 0; i < NWK_OPT_TX_QUEUE_SIZE; i++) {
        nwkTxPacketQueue[i].occupied = FALSE;
        nwkTxPacketQueue[i].queueIndex = i;
    }
}

//---------------------------------------------------------------------------------
//    NWK_TX_PACKET* nwkTxQueueReservePacket(void);
//
//    DESCRIPTION:
//            Reserve a packet from the nwk tx queue.
//    PARAMETER:
//            NWK_TX_PACKET* reservedPacket,
//               A 'value-result' parameter.
//    RETURN-VALUE:
//            A pointer points to the packet.
//----------------------------------------------------------------------------------
void  nwkTxQueueReservePacket(NWK_TX_PACKET* reservedPacket)
{
  UINT8 i ;
  for (i= 0; i < NWK_OPT_TX_QUEUE_SIZE; i++) 
  	{
       reservedPacket=&nwkTxPacketQueue[i];
	   if(nwkTxPacketQueue[i].occupied==FALSE)
	   	{
	   	  nwkTxPacketQueue[i].occupied=TRUE;
              *reservedPacket=nwkTxPacketQueue[i];
	        }
	   	
        }
}

//----------------------------------------------------------------------------------
//     void nwkTxQueueReleasePacket(NWK_TX_PACKET* nPacket);
//
//     DESCRIPTION:
//            Release the packet to the nwk tx queue.
//     PARAMETER:
//            NO.
//     RETURN-VALUE:
//            NO.
//----------------------------------------------------------------------------------
void nwkTxQueueReleasePacket(NWK_TX_PACKET* nPacket)
{
  if(nwkTxInfo.activePacket==nPacket)
  	nwkTxInfo.activePacket=NULL;
       nPacket->occupied=FALSE;
    
}

⌨️ 快捷键说明

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