?? mac-common.c
字號:
/*******************************************************************************************************
* *
* ********** *
* ************ *
* *** *** *
* *** +++ *** *
* *** + + *** *
* *** + CHIPCON CC2430 INTEGRATED 802.15.4 MAC AND PHY *
* *** + + *** MAC-COMMON.C *
* *** +++ *** *
* *** *** *
* ************ *
* ********** *
* *
*******************************************************************************************************
* CONFIDENTIAL *
* The use of this file is restricted by the signed MAC software license agreement. *
* *
* Copyright Chipcon AS, 2005 *
*******************************************************************************************************/
#include "mac_headers.h"
#include <string.h>
BOOL currentAesFinished;
BYTE currentAesTransferCount;
BYTE currentTimer2InterruptMask;
FRAME currentTxFrame;
//-------------------------------------------------------------------------------------------------------
//
//-------------------------------------------------------------------------------------------------------
ROOT void InitializeCommonStorage (void)
{
currentAesFinished = FALSE;
}
//-------------------------------------------------------------------------------------------------------
//
//-------------------------------------------------------------------------------------------------------
ROOT void DmaMemcpy(void *destination, void *source, BYTE noOfBytes) {
DMA_CHANNEL_CONFIGURATION *dmaChannelConfiguration;
if (noOfBytes < USE_DMA_FOR_MEMCPY_THRESHOLD) {
memcpy(destination,
source,
noOfBytes);
}
else
{
DISABLE_GLOBAL_INT();
while (DMAARM & DMA_CHANNEL_NO_3);
FetchDmaChannelConfiguration (DMA_CHANNEL_NO_3,
&dmaChannelConfiguration);
dmaChannelConfiguration->srcMsb = HIBYTE(source);
dmaChannelConfiguration->srcLsb = LOBYTE(source);
dmaChannelConfiguration->destMsb = HIBYTE(destination);
dmaChannelConfiguration->destLsb = LOBYTE(destination);
dmaChannelConfiguration->lenMsb = USE_LEN;
dmaChannelConfiguration->lenLsb = noOfBytes;
dmaChannelConfiguration->wsizeTmodeTrigger = BYTE_TRANSFER + TRANSFER_MODE_BLOCK;
dmaChannelConfiguration->incIrqM8Pri = SRC_INC_ONE_BYTE +
DST_INC_ONE_BYTE +
DMA_IRQ_DISABLE +
DMA_8_BIT_TRANSFER_COUNT +
DMA_PRIORITY_HIGH;
StartDma(DMA_CHANNEL_NO_3);
ENABLE_GLOBAL_INT();
}
}
//-------------------------------------------------------------------------------------------------------
//
//-------------------------------------------------------------------------------------------------------
ROOT void DmaWriteFrameToTxFifo(FRAME *frame)
{
DMA_CHANNEL_CONFIGURATION *dmaChannelConfiguration;
DISABLE_GLOBAL_INT();
while (DMAARM & DMA_CHANNEL_NO_3);
FetchDmaChannelConfiguration (DMA_CHANNEL_NO_3,
&dmaChannelConfiguration);
dmaChannelConfiguration->srcMsb = HIBYTE(frame);
dmaChannelConfiguration->srcLsb = LOBYTE(frame);
dmaChannelConfiguration->destMsb = HIBYTE(&X_RFD);
dmaChannelConfiguration->destLsb = LOBYTE(&X_RFD);
dmaChannelConfiguration->lenMsb = USE_FIRST_BYTE_AS_LEN;
dmaChannelConfiguration->lenLsb = aMaxPHYPacketSize + FRAME_LENGTH_SIZE;
dmaChannelConfiguration->wsizeTmodeTrigger = BYTE_TRANSFER + TRANSFER_MODE_BLOCK;
dmaChannelConfiguration->incIrqM8Pri = SRC_INC_ONE_BYTE +
DST_INC_NONE +
DMA_IRQ_DISABLE +
DMA_8_BIT_TRANSFER_COUNT +
DMA_PRIORITY_HIGH;
StartDma(DMA_CHANNEL_NO_3);
ENABLE_GLOBAL_INT();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -