📄 halstack.h
字号:
#ifndef HALSTACK_H
#define HALSTACK_H
// Macro for setting the WDT timeout interval.
#define WDT_SET_TIMEOUT_PERIOD(timeout) \
do { WDCTL &= ~0x03; WDCTL |= timeout; } while (0)
// Where _timeout_ is one of
#define SEC_1 0x00 // after 1 second
#define M_SEC_250 0x01 // after 250 ms
#define M_SEC_15 0x02 // after 15 ms
#define M_SEC_2 0x03 // after 2 ms
// Macro for resetting the WDT. If this is not done before the WDT times out,
// the system is reset.
#define WDT_RESET() do { \
WDCTL = (WDCTL & ~0xF0) | 0xA0; \
WDCTL = (WDCTL & ~0xF0) | 0x50; \
} while (0)
// Macro for turning on the WDT
#define WDT_ENABLE() WDCTL |= 0x08
#define WDT_DISABLE() WDCTL &= ~0x08
void halInit(void); //processor, board specific initializations
void halInitUart(void); // do everything except baud rate setting.
char halGetch(void); //get a character from serial port
void halPutch(char c); //write a character to serial port
void halInitMACTimer(void); //init timer used for Radio timeouts
UINT32 halGetMACTimer(void); //return timer value
LRWPAN_STATUS_ENUM halInitRadio(PHY_FREQ_ENUM frequency, BYTE channel, RADIO_FLAGS radio_flags);
void halGetProcessorIEEEAddress(BYTE *buf);
void halGetProcessorIEEEAddress_ASC(BYTE *buf);//bhj
void halSetRadioIEEEAddress(void );
LRWPAN_STATUS_ENUM halSetRadioIEEEFrequency(PHY_FREQ_ENUM frequency, BYTE channel);
void halSetRadioPANID(UINT16 panid);
void halSetRadioShortAddr(SADDR saddr);
LRWPAN_STATUS_ENUM halSendPacket(BYTE flen, BYTE *frm);
LRWPAN_STATUS_ENUM halSetChannel(BYTE channel);
UINT32 halMacTicksToUs(UINT32 x);
void halSetTxPower(BYTE val);
UINT8 halGetRandomByte(void);
void halSleep(UINT32 msecs); //put processor to sleep
void halSuspend(UINT32 msecs); //suspends process, intended for Win32, dummy on others
void halUtilMemCopy(BYTE *dst, BYTE *src, BYTE len);
void halWaitMs(UINT32 msecs);
void halShutdown(void);
void halWarmstart(void);
//call backs to PHY, MAC from HAL
void phyRxCallback(void);
void phyTxStartCallBack(void);
void macRxCallback(BYTE *ptr, BYTE rssi);
void macTxCallback(void);
//id evbIntCallback(void); //Evaluation board slow timer interrupt callback
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -