91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

基于osek的直接網(wǎng)絡(luò)管理,可參考并應(yīng)用于實(shí)際項目開發(fā)中

資源截圖

代碼片段和文件信息

#include?“OsekNm.h“


//?Macros?for?OpCode
#define?NM_MaskAlive??? ?0x01
#define?NM_MaskRing??? ?0x02
#define?NM_MaskLimphome??0x04
#define?NM_MaskSI????????0x10???/*?sleep?ind?*/
#define?NM_MaskSA????????0x20???/*?sleep?ack?*/


#define?rx_limit?4
#define?tx_limit?8

#define?NET_ID?0
/*?Alarm?Management?*/
#define?nmSetAlarm(Timer) \
do \
{ \
NM_ControlBlock[NET_ID].Alarm._##Timer?=?1+NM_ControlBlock[NET_ID].nmDirectNMParams._##Timer; \
}while(0)

/*?signal?the?alarm?to?process?one?step/tick?forward?*/
#define?nmSingalAlarm(Timer) \
do \
{ \
?if(NM_ControlBlock[NET_ID].Alarm._##Timer?>?1) \
?{ \
(NM_ControlBlock[NET_ID].Alarm._##Timer)--; \
?} \
}while(0)

#define?nmIsAlarmTimeout(Timer)??(1?==?NM_ControlBlock[NET_ID].Alarm._##Timer)

#define?nmIsAlarmStarted(Timer) ?(0?!=?NM_ControlBlock[NET_ID].Alarm._##Timer)

#define?nmCancelAlarm(Timer) \
do \
{ \
NM_ControlBlock[NET_ID].Alarm._##Timer?=?0; \
}while(0)

#define?nmSendMessage() \
do{ \
StatusType?ercd; \
ercd?=?D_Transmit(NetId&(NM_ControlBlock[NET_ID].nmTxPdu)8); \
if(ercd?!=?E_OK) \
{ \
nmSetAlarm(TTx);?/*?re-Transmit?after?TTx?*/ \
} \
}while(0)

#define?nmDebug(str)?ASLOG(OSEK_NMstr)
/*?============================?[?TYPES?????]?======================================================?*/
/*?OK?we?could?see?terrible?thing?here?too?big?the?struct?is.?*/
typedef?struct
{
NMType?nmType;
ScalingParamType?nmScalingParams;?/*?not?used?*/
struct
{
uint8_t?normal[32];
uint8_t?normalExtended[32];
uint8_t?limphome[32];
}nmConfig;
struct
{
uint8_t?normal[32];
uint8_t?normalExtended[32];
uint8_t?limphome[32];
}nmCMask;
struct
{
struct{
SignallingMode?SMode;
}normal;
struct{
SignallingMode?SMode;
}normalExtended;
struct{
SignallingMode?SMode;
}limphome;
}nmIndDeltaConfig;
struct{
NetworkStatusType?SMask;
NetworkStatusType?NetworkStatus;
SignallingMode?SMode;
}nmStatus;
struct{
SignallingMode?SMode;
}nmRingDataInd;
union
{
uint32_t?w;
struct
{
unsigned?stable?:?1;
unsigned?limphome?:?1;
}W;
}nmMerker;?
NMStateType?nmState;
struct
{
NodeIdType?NodeId;
TickType?_TTx;
TickType?_TTyp;
TickType?_TMax;
TickType?_TError;
TickType?_TWbs;
}nmDirectNMParams;
uint8_t?nmRxCount;
uint8_t?nmTxCount;
struct{
TickType?_TTx;
TickType?_TTyp;
TickType?_TMax;
TickType?_TError;
TickType?_TWbs;
}Alarm;
NMPduType?nmTxPdu;
}NM_ControlBlockType;
/*?============================?[?DECLARES??]?======================================================?*/
void?NMInit(NetIdType?NetId);
static?void?nmInit3(NetIdType?NetId);
static?void?nmAddtoPresent(NetIdType?NetIdNodeIdType?NodeId);
static?void?nmAddtoLimphome(NetIdType?NetIdNodeIdType?NodeId);
static?void?nmInitReset5(NetIdType?NetId);
static?void?nmInitReset6(NetIdType?NetId);
static?void?nmAddToConfig(NetIdTyp

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????24092??2018-04-19?09:26??OsekNm\OsekNm.c
?????文件????????4889??2018-04-19?09:23??OsekNm\OsekNm.h
?????文件????????2378??2018-04-19?09:22??OsekNm\OsekNm_Cfg.c
?????文件?????????341??2018-04-19?09:22??OsekNm\OsekNm_Cfg.h
?????目錄???????????0??2018-04-20?09:01??OsekNm\

評論

共有 條評論

相關(guān)資源