您的位置:首页 > 其它

ECAT_Init接口初始化函数

2013-08-11 10:10 906 查看
/////////////////////////////////////////////////////////////////////////////////////////
/**

\brief    This function initialize the EtherCAT Slave Interface.这个函数初始化EtherCAT从站的接口
*////////////////////////////////////////////////////////////////////////////////////////

void ECAT_Init(void)
{
UINT8 i;
/*Get Maximum Number of SyncManagers获得SM最大的数目*/
HW_EscReadByte(nMaxSyncMan, ESC_SM_CHANNELS_OFFSET);

/* disable all Sync Manager channels 去使能所有的SM通道*/
for (i = 0; i < nMaxSyncMan; i++)
HW_DisableSyncManChannel(i);

/* initialize the mailbox handler 初始化所有的邮箱处理*/
MBX_Init();

/* initialize variables 初始化变量*/
bApplEsmPending = FALSE;
bEcatWaitForAlControlRes = FALSE;
bEcatFirstOutputsReceived = FALSE;
bEcatOutputUpdateRunning = FALSE;
bEcatInputUpdateRunning = FALSE;

bWdTrigger = FALSE;
EcatWdValue = 0;

Sync0WdCounter = 0;
Sync0WdValue = 0;
bDcSyncActive = FALSE;
bLocalErrorFlag = FALSE;
u16LocalErrorCode = 0x00;

u16ALEventMask = 0;

/* initialize the AL Status register初始化AL状态寄存器 */
nAlStatus    = STATE_INIT;
SetALStatus(nAlStatus, 0);
nEcatStateTrans = 0;
#if LEDS_SUPPORTED || ESC_SUPPORT_ECAT_LED
u8EcatErrorLed = LED_OFF;
#endif

bEscIntEnabled = FALSE;

#if COE_SUPPORTED
/* 初始化COE的部分 */
COE_Init();
#endif

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐