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.

[参考译文] MSP430F247:MSP430F247

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/709276/msp430f247-msp430f247

器件型号:MSP430F247
主题中讨论的其他器件:MSP-GANG

我必须 ‘ MSP Gang 编程器用户指南中的“获取标签命令”,该指南检索所有硬件和软件信息。 此‘还有一个“程序员序列号 YYMMnnnn”字段。 我想获取序列号字段的值。我在理解如何执行此命令以及如何从获得的响应中获取序列号方面遇到问题? 您能帮助我们找到解决此问题的方法吗?

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

    从 MSP-GANG 用户指南的第3.5.2.9节中、获取标签命令会发出具有140个字符的数据数组的响应。 字符 D109-D116提供所用 MSP-GANG 的序列号。 您需要遍历接收到的数据数组才能获取此序列号。 请记住、这不是要编程的器件的特定序列号、而是执行编程的 hte 工具。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我在我的实现中使用以下代码。

    不安全


    var memHandle = MccService.WinBufAlloc32Ex (140);
    VAR 详细信息= MSPGANG_GetLabel (memHandle);
    var memBytePtr =(byte*) memHandle.ToPointer();
    VAR readStream =新的 UnmanagedMemoryStream (memBytePtr、140、140、FileAccess.ReadWrite);
    VAR byteArray =新字节[140];
    readStream.read (byteArray、0、140);

    并从  MSP-GANG_GetLabel()方法中导入 MSP-GANG.dll、如下所示:

    [dllimport ("MSP-Gang.dll")]
    内部静态外部 uint MSPGANG_GetLabel (IntPtr dataBuffer);

    根据您的建议、我创建了具有140个点的内存缓冲区、该缓冲区返回 intptr 内存句柄。

    然后、我从 MSP_GANG.dll 中调用方法 MSPGANG_GetLabel()、方法是将该内存句柄作为参数传递给该句柄。

    但作为回应、它为我提供了一个响应306、根据我所参考的 MSP Gang 编程人员指南、此问题是 COM 端口选择问题。 但我对 GetLabel 方法的这种响应感到困惑。

    它应返回以下数据

    我是使用错误的参数来使用'MSPGAN_GetLabel'方法、还是使用错误的方法来获取序列号?

    您能不能共享任何链接 或任何 c#代码片段,在这里,我可以看到此命令的实际实现方式以及正确的参数、传递内容、实现方式的所有详细信息

    此命令以及如何从获得的 C#响应中获取序列号? 我对这件事感到很不爽。 如果您可以共享此实现的任何链接、那将非常感谢。

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

    您可能会收到错误代码306、这是一个超时错误。 最常见的源是为与 MSP-GANG 通信选择了错误的 COM 端口。 在使用 Get Label 命令之前、请仔细检查 MSP-GANG 关联的 COM 端口、并确保使用 MSPGANG_InitCom 命令初始化与该 COM 端口的 MSP-GANG 通信。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     

    感谢您的宝贵反馈。 我们已经解决了这个问题。 但我一直在另一个实施方案上。

    我正在使用从 Gang430.dll 导入的‘GangMainProcess()’函数。 成功执行。

    ‘此操作,我正在从同一个 Gang430.dll 中为“GangGetResult()”执行以下代码片段。

     

     

    我已通过以下链接参考 MSP430指南文档:

    www.promelec.ru/.../MSP-GANG430.pdf

     

    根据本用户指南,GangGetResult 以以下格式返回数据:

     

     

    我将获得相同格式的结果字符串。 但我面临的问题是、它始终返回零值

    ‘D“02”。 您能告诉我们出现此错误的情形吗? 它是否与任何器件设置相关?

    我们将使用 MSP430 GANG 器件执行此操作。

    谢谢、此致、

    Shradha K.

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

    您正在混合此处的 MSPGANG430 (旧编程器)和 MSP-GANG 编程器(新编程器)。 您应该将较新的 MSP-GANG 与您之前提到的 DLL 一起使用。 在这两种情况下、您似乎都遇到了验证错误。 我想向您指出2.1.1.5"验证"部分和6.5"问题:部件未通过验证步骤的可能原因是什么?" MSP-GANG 用户指南中的其他信息。