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

📄 zmac.h

📁 自己写的Zigbee MAC源码。包括zmac.c
💻 H
字号:
void mac_enable();void mac_disenable();void mcps_data_request();ZIGBEE_STATUS csma_ca();void delay_1s(int t);void mcps_data_indication();void mcps_purge_request();void mlme_associate_request();void rx_response();void mlme_associate_indication();void mlme_associate_response();void mlme_reset_request();void mlme_rx_enable_request();/*void mlme_disassociate_request();void mlme_get_request();void mlme_ges_request();void mlme_orphan_response();void mlme_scan_request();void mlme_set_request();void mlme_start_request();void mlme_sync_request();void mlme_poll_request();*/int MsduHadle;int aMaxFrameRetries;int aResponseWaitTime;char assciate_ack;struct _mac_current_frame //物理层国来的psdu在这里进一步分解为MAC层帧结构,精减后的结构{    BYTE    frameStyle;   BYTE    sequenceNumber;    BYTE    DstAddr;   BYTE    SrcAddr;   BYTE    msdu[aMaxNWKPecketSize];  } mac_current_frame; struct _zMAC_CURRENT_STATUS{    BYTE status;  } zmac_current_status;/*typedef struct _MAC_PIB {    BYTE          macAckWaitDuration;  //made a constant    unsigned char macAssociationPermit :1;    unsigned char macAutoRequest :1;    unsigned char macBattLifeExtPeriods :1;    unsigned char macPromiscuousMode :1;    unsigned char macRxOnWhenIdle :1;    BYTE          macBeaconPayload[MAC_PIB_macBeaconPayloadLength];   //always 3 for non-beacon, 5 for beacon    BYTE          macBeaconPayloadLength;   made a constant     BYTE          macBeaconOrder;   //made a constant    TICK          macBeaconTxTime;    BYTE          macBSN;    LONG_ADDR     macCoordExtendedAddress;    SHORT_ADDR    macCoordShortAddress;    BYTE          macDSN;    BYTE          macMaxCSMABackoffs;    BYTE          macMinBE;    PAN_ADDR      macPANId;    SHORT_ADDR    macShortAddress;    BYTE          macSuperframeOrder;  //made a constant    WORD          macTransactionPersistenceTime; //made a constant } MAC_PIB;*///数据服务原语 struct _MCPS_DATA_request    {        BYTE            SrcAddrMode;       BYTE            SrcPANId;       BYTE            SrcAddr;       BYTE            DstAddrMode;       BYTE            DstPANId;       BYTE            DstAddr;       BYTE            msduLength;       BYTE            *msdu;       BYTE            msduHandle;       BYTE            TxOptions;  } MCPS_DATA_request;    struct _MCPS_DATA_confirm    {        ZIGBEE_STATUS        status;                        BYTE                 msduHandle;    } MCPS_DATA_confirm;    struct _MCPS_DATA_indication    {        BYTE            SrcAddrMode;       BYTE            SrcPANId;       BYTE            SrcAddr;       BYTE            DstAddrMode;       BYTE            DstPANId;       BYTE            DstAddr;       BYTE            msduLength;       BYTE            *msdu;       unsigned int    mpduLinkQuality;       BOOL            SecurityUse;       BYTE            ACLEntry;                } MCPS_DATA_indication;    struct _MCPS_PURGE_request    {        BYTE        msduHandle;    }   MCPS_PURGE_request;    struct _MCPS_PURGE_confirm    {        ZIGBEE_STATUS        status;        BYTE               msduHandle;    } MCPS_PURGE_confirm; //管理服务原语//连接原语struct _MLME_ASSOCIATE_request    {        BYTE                        LogicalChannel;        BYTE                        CoordAddrMode;       BYTE                        CoordPANId;       BYTE                        DirdAddress;  //要连接的目标地址       BYTE                        SrcAddress;       BYTE                        CapabilityInformation;         BOOL                        SecurityEnable;                } MLME_ASSOCIATE_request; struct _MLME_ASSOCIATE_confirm    {        ZIGBEE_STATUS   status;                             BYTE         AssocShortAddress;             } MLME_ASSOCIATE_confirm; struct _MLME_ASSOCIATE_indication    {        BYTE                        DeviceAddress;          BYTE                        CapabilityInformation;        BOOL                        SecurityUse;         BYTE                        ACLEntry;    } MLME_ASSOCIATE_indication; struct _MLME_ASSOCIATE_response    {        BYTE                DeviceAddress;          BYTE                AssocShortAddress;        ZIGBEE_STATUS       status;         BOOL                SecurityEnable;    } MLME_ASSOCIATE_response; //MAC子层复位原语  struct _MLME_RESET_request    {        BOOL    SetDefaultPIB;    } MLME_RESET_request;    struct _MLME_RESET_confirm    {        ZIGBEE_STATUS      status;    } MLME_RESET_confirm; //指定接收机激活时间  struct _MLME_RX_ENABLE_request  {     BOOL            DeferPermit;     unsigned int    RxOnTime;     unsigned int    RxOnDuration;  } MLME_RX_ENABLE_request;   struct _MLME_RX_ENABLE_confirm    {        ZIGBEE_STATUS      status;    } MLME_RX_ENABLE_confirm;/*//断开连接原语 struct _MLME_DISASSOCIATE_request    {        BYTE        DisassociateReason;        BOOL                SecurityUse;               BYTE        DeviceAddress;         } MLME_DISASSOCIATE_request; struct _MLME_DISASSOCIATE_confirm    {        ZIGBEE_STATUS        status;    } MLME_DISASSOCIATE_confirm; struct _MLME_DISASSOCIATE_indication    {            BYTE   DeviceAddress;             BYTE        DisassociateReason;       BOOL        SecurityUse;       BYTE        ACLEntry;           } MLME_DISASSOCIATE_indication; //信表通知原语   struct _MLME_BEACON_NOTIFY_indication    {        BYTE            BSN;        BYTE            sduLength;        BYTE            *sdu;                          BYTE            CoordPANId;            BYTE            CoordAddrMode;             BYTE            LogicalChannel;        BYTE            CoordAddress;              BYTE            TimeStamp;        BTTE            SuperframeSpec;        unsigned int    LinkQuality;        BOOL            SecurityFailure;        BOOL            GTSPermit;        BOOL            SecurityUse;       BYTE            ACLEntry;                 unsigned int            LinkQuality; } MLME_BEACON_NOTIFY_indication; //读取PIB属性//写MAC PIB原语//保护时隙管理原语//孤立通知原语    struct _MLME_ORPHAN_indication    {         BYTE   OrphanAddress;       BOOL           SecurityUse;                      BYTE           ACLEntry;           } MLME_ORPHAN_indication;    struct _MLME_ORPHAN_response    {        BYTE   OrphanAddress;       BYTE           ShortAddress;        BOOL           AssociatedMember;        BOOL           SecurityEnable;        } MLME_ORPHAN_response; //信道扫描原语 struct _MLME_SCAN_request    {           BYTE                        ScanType;        BYTE                        ScanDuration;                      BYTE                        ScanChannels;                   } MLME_SCAN_request;    struct _MLME_SCAN_confirm    {        ZIGBEE_STATUS               status;       BYTE                        ScanType;        BYTE                        UnscannedChannels;                            BYTE                        ResultListSize;        BYTE                        EnergyDetectList;        BYTE                        PANDescriptorList;   } MLME_SCAN_confirm; //通信状态原语struct _MLME_COMM_STATUS_indication    {       BYTE         PANId;      BYTE                 SrcAddrMode;       BYTE         SrcAddr;      BYTE                 DstAddrMode;       BYTE         DstAddr;       ZIGBEE_STATUS        status;                 } MLME_COMM_STATUS_indication; //更新超帧配置原语struct _MLME_START_request    {        BYTE   PANId;        BYTE           LogicalChannel;        BYTE           BeaconOrder;        BYTE           SuperframeOrder;        BOOL           PANCoordinator;       BOOL           BatterylifeExtension;       BOOL           CoordRealignmeng;       BOOL           SecurityEnable;   } MLME_START_request;    struct _MLME_START_confirm    {        ZIGBEE_STATUS           status;                      } MLME_START_confirm; //与协调器同步原语   struct _MLME_SYNC_indication    {        BYTE     LogicalChanel;       BOOL     TrackBeacon;    } MLME_SYNC_indication;   struct _MLME_SYNC_LOSS_indication    {        ZIGBEE_STATUS        LossReason;    } MLME_SYNC_LOSS_indication;       //从协调器请求数据原语 struct _MLME_POLL_request    {        BYTE            CoordAddrMode;        BYTE    CoordPANId;       BYTE    CoordAddress;       BOOL        SecurityEnabled;    } MLME_POLL_request;    struct _MLME_POLL_confirm    {        ZIGBEE_STATUS    status;                 // Must overlay NLME_SYNC_confirm Status    } MLME_POLL_confirm; */

⌨️ 快捷键说明

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