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.

[参考译文] MSP430F5529:使用 MCU#39闪存作为大容量存储、并通过 USB 将 CDC 接口连接在一起

Guru**** 2595805 points
Other Parts Discussed in Thread: MSP430F5529

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/624546/msp430f5529-use-mcu-s-flash-as-mass-storage-and-cdc-interface-together-over-usb

器件型号:MSP430F5529

您好!

我使用的是 MSP430F5529 Launchpad。 我想将 MCU 的闪存用作大容量存储器件、以在窗口中保存 I2C 从器件和 CDC 接口的一些配置、从而从 COM 端口获取 I2C 命令。

我使用 TI 的 MSP430开发者套件作为我的参考、两者(闪存作为大容量存储器和 CDC 接口)均独立工作。 但我想同时使用这两个接口。 有可能吗?

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

    您好、Rohit、

    是的、可以同时使用 MSC 和 CDC 接口。  要为此复合内容创建描述符、您可以使用 USB 开发套件随附的描述符工具。  创建描述符后、必须为实现创建应用程序。  

    此致、


    Arthi

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

    您好 Arthi、

    感谢你的答复。

    我使用描述符工具生成的 CDC 和 MSC 组合的描述符。 我能够检测大容量存储设备、但"虚拟 COM 端口(CDC)"是另一个设备。 我还按照 Examples_Guide_MSP430_USB.pdf 中的步骤安装了项目的 USB_CONFIG、但因此收到以下错误消息:

    我将使用由描述符工具生成的 MSP430_CDC.inf 文件。 我正在使用 VID:2047和 PID:03E2 (描述符工具显示有效范围:0x03DF-0x03FD)。

    请指出我缺少什么内容的位置。

    此致、

    Rohit

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

    您好、Rohit、

    因此、描述符工具中存在一个错误、即不使用 CDC + MSC 复合器件的正确器件标识符生成.INF 文件。  我在下一个版本的 USB 开发包中添加了一个错误、以修复此问题。  同时、下面是您可以安装.inf 文件的操作。

    打开使用描述符工具创建的.inf 文件,并将 MI_00的每个实例更改为 MI_01。   然后右键单击任务管理器中的'Virual COM Port'并将驱动程序安装指向已更新的.inf 文件所在的目录。  

    此致、

    Arthi

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

    感谢 Arthi 的支持。

    以上解决方案适用于我。

    此致、

    Rohit

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

    只要我要通过 USB 将 MSP 连接到另一台计算机(计算机)、就需要安装.inf 文件。 是否有任何解决方案、以便我无需手动安装.inf 文件?

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

    您好 Arthi、

    使用大容量存储中的文件时、文件名字符数是否有任何限制?

    如果文件名的长度大于某个数字、我将无法打开文件。

    Rohit

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

    Rohit、

    我能够使用 最多257个字符的文件名、并且能够打开和保存该文件。  您的文件名中有多少个字符?

    此致、

    Arthi

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

    Arthi、

    我无法打开文件名中包含12个字符的文件。

    同时、我发现我应该使用具有2个值的 USE_LFN 宏(在 ffconf.h 中)来支持长文件名。 但在这种情况下、我的 FatFs 源代码中需要 ff_convert 和 ff_wtouper 函数、但它们未定义。

    在您的案例中、此宏的价值是多少? 您是否在源代码中定义了上述功能? 如果是、请共享该文件。

    谢谢、

    Rohit

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Rohit、我使用了开发包随附的 M1_fileSystemEmulation 示例。 如果您下载了此软件包、您应该可以获得该示例。 如果不是、您可以使用 Resource Explorer 下载此示例。

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

    Arthi、

    是的、我也在使用来自开发者软件包的相同文件系统。 我认为有一些误解。 通过“我无法打开文件”,我想说我无法使用文件系统 FatFs 的 f_open() API 打开代码中的文件。

    我可以在连接 MSP 的同时获取新驱动器、也可以在记事本中打开文件。 如果文件名长于12个字符,那么我也可以在记事本中打开它,但在这种情况下,我无法使用来自代码的 f_open() API 打开它。

    Rohit

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

    您可以尝试更短的文件路径吗? 它可以是您正在应对的路径长度限制的组合。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    JH、

    我仅使用"filename.txt"。 我的文件系统中没有多个目录。 但是、我也可以仅使用8个字符作为文件名。

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

    要说明的是、这是您的 PC 上的文件系统、还是在 MSP430上实现的文件系统? 如果在 MSP430上、我想您正在进入数组限制或其他状态。