Ethercat 硬件初始化 HW_Init(void)

函数 HW_Init(void)


\return     0 if initialization was successful          -----------------  返回值为0  表示初始化成功
 \brief     This function initialize the EtherCAT Slave Interface.     -------------------- 此函数用于初始化EtherCAT从接口。

UINT16 HW_Init(void)
{
    
    UINT32 intMask = 0;
    /*    初始化:
  1、同ESC的存储接口
  2、ESC中断
  3、ECAT看门狗时钟*/
    /*   初始化ESC DPRAM与单片机的指针ESC的物理内存的开始*/
     pEsc = MAKE_PTR_TO_ESC;
   {
    UINT16 u16PdiCtrl = 0;
/*宏定义:ESC_PDI_CONTROL_OFFSET 对应地址为0x0140;  0x0140:PDI控制寄存器 使能/终止DC单单元*/
    do
    {
        HW_EscReadWord(u16PdiCtrl,ESC_PDI_CONTROL_OFFSET);   //将u16PdiCtrl=0的值写到0x0140地址中,PDI控制寄存器
        u16PdiCtrl = SWAPWORD(u16PdiCtrl);
    } while (((u16PdiCtrl & 0xFF) < 0x8) || ((u16PdiCtrl & 0xFF) > 0xD) );
    }


    /* 初始化PDI中断源*/
    INIT_ESC_INT;

    /* initialize the AL_Event Mask Register:初始化AL_event mask寄存器 */
    /* the AL Event-Mask register is initialized with 0, so that no ESC interrupt is generated yet,    AL事件掩码寄存器初始化为0,因此尚未生成ESC中断
       the AL Event-Mask register will be adapted in the function StartInputHandler in ecatslv.c      AL事件掩码寄存器将在ecatslv.c中的函数StartInputHandler中进行调整
        when the state transition from PREOP to SAFEOP is made                                                   当状态从PREOP转换到SAFEOP时   */       

 

/*宏定义:ESC_AL_EVENTMASK_OFFSET 0x0204 Al时间中断请求屏蔽
AL时间请求寄存器是否映射到PDI中断信号*IRQ(B12),位定义同AL中断请求寄存器0X0220:0x0223
0:相应的中断请求位不映射
1:相应的中断请求位映射
复位0xFF;0xFF0F*/


    HW_EscWriteDWord(intMask, ESC_AL_EVENTMASK_OFFSET); 


    /* enable the ESC-interrupt microcontroller specific,
        the macro ENABLE_ESC_INT should be defined in ecat_def.h */

/*启用特定于微控制器的ESC中断,宏ENABLE_ESC_INT应该在ecat_def.h中定义*/

    ENABLE_ESC_INT();


    return 0;
}


void HW_Release(void)
{
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JIAWEI_Z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值