This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM2434:实施 EC_API_SLV_cbRegisterPreSeqInputPDBuffer () 时出现意外行为。

Guru**** 2905330 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1583673/am2434-unexpected-behavior-when-ec_api_slv_cbregisterpreseqinputpdbuffer-is-implemented

器件型号:AM2434


您好、

我收到了客户的询问。 你能帮助回答他们在下面的问题吗?

 

从客户处、

--------------------------------------------------------------------------------

我已经实现了正式文档中列出的四个回调注册函数,但当我实现 EC_API_SLV_cbRegisterPreSeqInputPDBuffer () 时,它会导致意外行为。
我将在随附的工作表中描述实现方法。
您能否回顾一下并告诉我是否有任何错误?
https://software-dl.ti.com/processor-industrial-sw/esd/ind_comms_sdk/am243x/latest/docs/am243x/ethercat_subdevice/proc_data_mem_access.html

--------------------------------------------------------------------------------

Implement.xlsx 

谢谢。此致、

英明

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Hello Hideaki、

    这里的问题是附加的回调函数的实现。

    //SubDevice to MainDevice COMM (TXPDO)
    void* DPR_PreSequenceInputProcessData();
    
    //MainDevice to SubDevice COMM (RXPDO)
    void* DPR_PreSequenceOutputProcessData();
    
    //SubDevice to MainDevice COMM (TXPDO)
    void DPR_PostSequenceInputProcessData();
    
    //MainDevice to SubDevice COMM (RXPDO)
    void DPR_PostSequenceOutputProcessData();

    这些函数不用作用户回调以用于其他目的、例如 GPIO 切换。 这些函数应处理输入和输出过程数据。 EtherCAT 协议栈内部期望使用这些函数处理过程数据缓冲区、以加快 EtherCAT 文档中所述的过程。

    此致、