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

📄 mac.c

📁 自己写的无线sinffer,可以通过串口查看空间内所有无线数据
💻 C
字号:
#include "mac.h"
#include<stdlib.h>

extern volatile BYTE RxStatus;
extern volatile BYTE TxStatus;

__no_init TX_PACKET_STRUCT txData @ "PM0_XDATA";

void MacInit(void)
{
   txData.srcAddress.lowaddress=SHORTADDRL;
   txData.srcAddress.highaddress=SHORTADDRH;
   txData.destpanid.low=PANIDL;
   txData.destpanid.high=PANIDH;
   txData.srcpanid.low=PANIDL;
   txData.srcpanid.high=PANIDH;
   txData.dsn=0;
}


BOOL SendFrame(UINT16 destAddress)
{
   BOOL status = TRUE;
   BYTE retries;
   BYTE res;


   txData.destAddress.lowaddress= destAddress&0x00FF;
   txData.destAddress.highaddress=(destAddress>>8)&0x00ff;
   txData.srcAddress.lowaddress=SHORTADDRL;
   txData.srcAddress.highaddress=SHORTADDRH;
   txData.destpanid.low=PANIDL;
   txData.destpanid.high=PANIDH;
   txData.srcpanid.low=PANIDL;
   txData.srcpanid.high=PANIDH;
   txData.dsn+=1;
   txData.dsn%=100;
   txData.fcf.low=1;
   txData.fcf.high=0x88;

   retries = RETRYNUM;  	//重试3次
   txData.payloadLength = 0;
   while(retries)
   {
      res = SendPacket(&txData);
      if(res == FALSE)
      {
         retries--;
         if(retries == 0)
         {
            status = FALSE;
         }
      }
      else
      {
         retries = 0;
      }
   }
   //ReceivePacket(&rxData1); //发完就跳到接收
      //while(sppTxStatus == TX_IN_PROGRESS);//有TX_IN_PROGRESS,就一定会有RF中断发生,就会sppTxStatus变成TX_SUCCESSFUL的

   return status;
}

BOOL ReceiveFrame(BYTE** receiveData, BYTE* length, WORD timeout)
{
   return 0;
}

⌨️ 快捷键说明

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