ECAT_Init接口初始化函数
2016-06-23 17:49
363 查看
原文地址:http://blog.csdn.net/huangxianxinalice/article/details/9896825
[cpp] view
plain copy
/////////////////////////////////////////////////////////////////////////////////////////
/**
\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
}
[cpp] view
plain copy
/////////////////////////////////////////////////////////////////////////////////////////
/**
\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
}
相关文章推荐
- 类别定义pop返回手势
- IE调用客户端程序
- Spring MVC程序中怎么得到静态资源文件css,js,图片文件的路径问题
- Javascript模块化编程--学习笔记
- lua 闭包
- 新建工程部署方法
- JAVA实现DES加密实现详解
- 多表联合查询:join的用法
- shader 笔记(一)
- 《C++ Primer Plus》学习笔记 第1章 预备知识
- 表格的刷新性能
- 总结
- Metatable与面向对象、继承
- javaweb中文件上传下载示例
- JS加密Java解密报rsa bad argument
- EtherCAT状态转换
- Log4j.properties配置详解
- 五个知识体系之-SQL学习-第四天
- 2.7、Android Studio使用翻译编辑器本地化UI
- 2.7、Android Studio使用翻译编辑器本地化UI