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

📄 phy.h

📁 该演示程序实现温度的采集与显示功能
💻 H
字号:

/*
  V0.1 Initial Release   10/July/2006  RBR

*/



#ifndef PHY_H
#define PHY_H

#include "compiler.h"
#include "halstack.h"


#define aMaxPHYPacketSize 127
#define aTurnaroundTime 12

#define MAX_TX_TRANSMIT_TIME (SYMBOLS_TO_MACTICKS(150))  //a little long..

typedef enum _RADIO_STATUS_ENUM {
  RADIO_STATUS_OFF,
  RADIO_STATUS_RX_ON,
  RADIO_STATUS_TX_ON,
  RADIO_STATUS_RXTX_ON
}RADIO_STATUS_ENUM;

typedef struct _PHY_PIB {
  PHY_FREQ_ENUM phyCurrentFrequency;        //current frequency in KHz (2405000 = 2.405 GHz)
  BYTE phyCurrentChannel;
  UINT32 phyChannelsSupported;
  BYTE phyTransmitPower;
  BYTE phyCCAMode;
  union _PHY_DATA_flags {
    BYTE val;
    struct {
     unsigned txFinished:1;    //indicates if TX at PHY level is finished...
	 unsigned txBuffLock:1;    //lock the TX buffer.
    }bits;
  }flags;
  UINT32 txStartTime;
  BYTE *currentTxFrm;   //current frame
  BYTE currentTxFlen;   //current TX frame length
}PHY_PIB;


typedef union _PHY_ARGS {
  struct _PHY_INIT_RADIO {
    RADIO_FLAGS radio_flags;
  }phy_init_radio_args;
}PHY_ARGS;



typedef struct _PHY_SERVICE {
  LRWPAN_SVC_ENUM cmd;
  PHY_ARGS args;
  LRWPAN_STATUS_ENUM status;
}PHY_SERVICE;

typedef enum _PHY_STATE_ENUM {
  PHY_STATE_IDLE,
  PHY_STATE_COMMAND_START,
  PHY_STATE_TX_WAIT
 } PHY_STATE_ENUM;

extern PHY_STATE_ENUM phyState;
extern PHY_PIB phy_pib;
extern PHY_SERVICE a_phy_service;
extern BYTE tmpTxBuff[LRWPAN_MAX_FRAME_SIZE]; 

//prototypes
void phyFSM(void);
void phyInit(void );

#define phyIdle() (phyState == PHY_STATE_IDLE)
#define phyBusy() (phyState != PHY_STATE_IDLE)

#define phyTxLocked()   (phy_pib.flags.bits.txBuffLock == 1)
#define MACIsPutReady()   (phy_pib.flags.bits.txBuffLock == 0)
#define phyTxUnLocked()   (phy_pib.flags.bits.txBuffLock == 0)

#define phyGrabTxLock()	phy_pib.flags.bits.txBuffLock = 1
#define phyReleaseTxLock() phy_pib.flags.bits.txBuffLock = 0




#endif


⌨️ 快捷键说明

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