海光平台,CPU型号为3350,我们再I2C0设备上挂载了一颗I2C设备,地址为0x22(7bit),请问我要如何访问这颗芯片的地址以及数据呢,系统是windows10

yang le 0 信誉分
2026-03-12T02:59:18.32+00:00

平台:海光3350

系统: windows10

I2C0总线挂载了一颗I2C扩展GPIO的芯片,地址为0x22(7bit地址),请问我要如何在windows下访问这颗芯片以及寄存器

Windows 开发 | Windows 应用 SDK
0 个注释 无注释

1 个答案

排序依据: 非常有帮助
  1. Jack Dang (WICLOUD CORPORATION) 18,975 信誉分 Microsoft 外部员工 审查方
    2026-03-12T07:26:03.3833333+00:00

    您好 @yang le ,

    感谢您的咨询。

    我想先说明,我注意到这个问题是贴在 Windows App SDK 标签下的,但我理解这可能不是最适合你描述内容的标签。我建议可以考虑重新发布,或者移动到 Windows IoTWindows Driver Kit (WDK) 标签下的 Microsoft Q&A。话虽如此,我还是很乐意在这里提供一些一般性的指导。

    在 Windows 上,我建议根据您的情况可以尝试以下几种方法:

    1. 使用 Windows 内置的 I2C API(Windows.Devices.I2c): 如果您的平台将 I2C0 暴露给 Windows,您可以使用一个小型的 UWP 或 WinRT 应用程序与芯片通信。您需要打开 I2C0 总线,将设备地址设置为 0x22,然后使用 WriteWriteRead 方法访问寄存器。
    2. 使用 USB-I2C 适配器: 如果您的主板没有直接暴露 I2C0,USB-I2C 适配器(例如 Total Phase Aardvark、FTDI 或 NI 适配器)非常适用。这些适配器通常带有 GUI 和示例,可以轻松读/写寄存器,而无需自己编写驱动程序。
    3. 供应商提供的驱动或工具: 一些海光板需要低级驱动程序才能访问 I2C0。请检查您的平台供应商是否提供用于 I2C 访问的命令行工具或 DLL。安装后,您可以直接使用它来读/写寄存器。

    一些小提示:

    • 确保在 BIOS/固件中启用了 I2C 总线。
    • Windows.Devices.I2c 使用 7 位地址,这与您的 0x22 匹配。
    • 始终参考芯片的数据手册,以了解要读/写的寄存器及其预期值。

    如果您熟悉 C# 或 C++,UWP 方法通常是 Windows 10 上最直接的方式。否则,USB-I2C 适配器可以快速进行测试和调试。

    如果您觉得我的回答有帮助或提供了信息,我将非常感激您能按照此指导提供反馈。

    谢谢!

    此答案是否有帮助?


你的答案

提问者可以将答案标记为“已接受”,审查方可以将答案标记为“已推荐”,这有助于用户了解答案是否解决了提问者的问题。