9.5.1 EtherCAT从站代码包解析.pptx

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

8.5基于LAN9252的EtherCAT从站驱动

和应用程序的设计实例;1)函数原型:voidTIM_Configuration(uint8_tperiod)

功能描述:对定时器9进行配置,使能定时器9,并配置相关中断。

参数:“period”,计数值。

返回值:void

(2)EXIT.c

对STM32外部中断0、外部中断1和外部中断2进行配置。文件中关键函数介绍如下。

1)函数原型:voidEXTI0_Configuration(void)

功能描述:将外部中断0映射到PC0引脚,并对中断参数进行配置。

参数:void

返回值:void

;2)函数原型:voidEXTI1_Configuration(void)

功能描述:将外部中断1映射到PC1引脚,并对中断参数进行配置。

参数:void

返回值:void

3)函数原型:voidEXTI2_Configuration(void)

功能描述:将外部中断2映射到PC2引脚,并对中断参数进行配置。

参数:void

返回值:void

(3)ADC1.c

对STM32的ADC1和DMA2通道进行配置。

;(4)el9800hw.c和el9800hw.h

对从站开发板的外设和GPIO进行初始化,对定时器、ADC、外部中断等模块进行初始化,定义读取和写入从站控制器芯片DPRAM中寄存器的函数,也实现了中断入口函数的定义。文件中关键函数介绍如下。

1)函数原型:voidGPIO_Config(void)

参数:void

功能描述:对从站开发板上与LED和switch关联的I/O口进行初始化。

返回值:void;2)函数原型:UINT8HW_Init(void)

参数:void

功能描述:初始化主机控制器、过程数据接口(PDI)并分配硬件访问所需的资源,对GPIO、ADC等进行初始化,读写ESC从站控制器DPRAM中部分寄存器。

返回值:如果初始化成功则返回0;否则返回一个大于0的整数。

3)函数原型:UINT16HW_GetALEventRegister(void)

参数:void

功能描述:获取AL事件寄存器(0x220-0x221)的前两个字节。

返回:0x220-0x221寄存器的内容。

;4)函数原型:voidHW_EscRead(MEM_ADDR*pData,UINT16Address,UINT16Len)

参数:“pData”,指向本地目标缓冲区的指针,指针的类型取决于主机控制器结构(在ECAT_Def.h中指定);

“Address”,从站控制器地址,指定以字节表示的ESC内存区域内的偏移;

“Len”,以字节为单位的访问长度。

功能描述:对从站控制器DPRAM中的寄存器进行读操作。

返回值:void;5)函数原型:voidHW_EscWrite(MEM_ADDR*pData,UINT16Address,UINT16Len)

参数:“pData”,指向本地源缓冲区的指针,指针的类型取决于主机控制器结构(在ECAT_Def.h中指定);

“Address”,从站控制器地址,指定以字节表示的ESC内存区域内的偏移量;

“Len”,以字节为单位的访问长度。

功能描述:对从站控制器DPRAM中的寄存器进行写操作。

返回值:void

;6)函数原型:voidEcatIsr(void)

参数:void

功能描述:通过宏定义将该函数与EXTI0_IRQHandler相关联,在外部中断0触发时会进入该函数。若在主站上将运行模式设置为同步模式,每当有过程数据更新,LAN9252芯片与STM32外部中断引脚相连的引脚则会发出中断信号来触发STM32的外部中断以执行EcatIsr()函数。

返回值:void

;7)函数原型:voidSync0Isr(void)

参数:void

功能描述:通过宏定义将该函数与EXTI3_IRQHandler相关联,在外部中断3触发时会进入该函数。若在主站上将运行模式设置为DC模式,按照固定的同步时间周期,LAN9252芯片与STM32的外部中断引脚相连的引脚则会周期性地发出中断信号来触发STM32的外部中断以执行Sync0Isr()函数。

返回值:void

8)函数原型:voidSync1Isr(void)

参数:void

功能描述:通过宏定义将该函数与EXTI1_IRQHandler相关联,在外部中断1触发时会进入该函数。

返回值:void

;9)函数原型:voidTimerIsr(void)

参数:void

功能描述

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档