主题中讨论的其他器件: TMS320F28379D
您好!
我已成功为 TIDM-Delfino-EtherCAT 运行示例应用。 现在、我想更改项目的处理数据。 我使用 SSC 准备了堆栈代码、并在 Excel 中创建了新应用程序:
接下来、我将 ESI XML 文件放在 EtherCAT 目录中。
我也准备了映射。 代码如下:
void APPL_InputMapping (UINT16* pData) { uint16_t j = 0; uint16_t * pTmpData =(uint16_t *) pData; uint16_t 数据; 对于(j = 0;j < sTxPDOassign.u16SubIndex0;j++) { 开关(sTxPDOassign.aEntry [j]) { /* TxPDO */ 情况0x1A00:// 8位 数据= Sinus0x6000; *(volatile uint16_t *) pTmpData = data; 中断; } }
void APPL_OutputMapping (uint16* pData) { uint16_t j = 0; uint16_t * pTmpData =(uint16_t *) pData;//允许字节处理 uint16_t data = 0; 对于(j = 0;j < sRxPDOassign.u16SubIndex0;j++) { 开关(sRxPDOassign.aEntry[j]) { /* RxPDO */ 情况0x1600://byte (8位) 数据=(*(volatile uint16_t *) pTmpData); Angle0x7000 =数据; 中断; } }
在 CCS 中、我可以看到我的变量已映射:
但是、当我触发 TwinCAT 时、我可以看到错误、这意味着输入过程数据的 SM 配置无效:
我不知道我做了什么错。 这是我第二天与这一目标作斗争、我的想法得到了实现。
您知道我在哪里出错了吗?
我感谢你的任何帮助。
BR、
Dawid。
