📄 nwk_tx_queue.c
字号:
//#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -