从28388例程-echoBackSolution去理解EnterCAT原理

本文详细解析了使用28388D开发板与CCS9环境下,ESC数据映射与处理流程。包括输出数据映射,即从ESC存储区到本地存储区的数据拷贝过程;输入数据映射,即ESC需要发送的数据映射;以及主业务逻辑中数据的处理方式。通过具体代码示例,深入理解ESC与DSP间的数据交互机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述:

使用开发板型号:28388D
CCS版本:CCS9
S-S-C工具使用建议参考:EnterCAT工具使用
使用的例程路径:c2000\C2000Ware\libraries\communications\Ethercat\f2838x\examples\f2838x_cpu1_echoback_solution

重点理解(站在ESC的角度):

  1. 输入数据映射(ESC需要发送的数据映射)?
  2. 数据如何处理(主业务逻辑)?
  3. 输出数据映射(ESC需要接收的数据映射)?
  4. 如何自己编辑和生成EnterCAT的XML字典配置文件?

下面

1. 输出数据映射(ESC需要接收的数据映射)

概述:

代码:

/**
\brief    This function will copies the outputs from the
 ESC memory to the local memory.
        This function is only called in case of an SM2 
        (output process data) event.
	大致意思:从ESC存储区拷贝数据到本地存储区(DSP)
	此方法将在SM2事件触发时调用
	补充:
	SM事件
		数据帧到达每一个ESC时会产生一个SM事件,并且触发一个SM中断
*/
void PDO_OutputMapping(void)
{
	SetpointValues0x7000.Value1 = *pData;
	pData++;
	SetpointValues0x7000.Value2 = *pData;
}

2. 数据如何处理(主业务逻辑)

void APPL_Application(void){
	//数据处理示例
	Results0x6000.Result1 += Parameters0x8000.Inc1;
	Results0x6000.Result2 =
	SetpointValues0x7000.Value1+SetpointValues0x7000.Value2;
}

2. 输入数据映射(ESC需要发送的数据映射)

void APPL_InputMapping(UINT16* pData)
{
	*pData = Results0x6000.Result1;
	pData++;
	*pData = Results0x6000.Result2;
	pData++;
	*pData = Results0x6000.Toggle;
}

提问:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值