关于CP2112的IIC上位机HidSmbus Example的一些资料
HidSmbus Example 是 Silicon Labs 为 CP2112USB 转 SMBus I2C 桥接芯片提供的官方图形化调试工具用于无需编写代码即可连接、配置 CP2112 并对挂载的 I2C SMBus 从设备进行读写操作 。核心使用流程1硬件连接将 CP2112 开发板通过 USB 连接 PC将其 SDA SCL GND 引脚正确对接目标 I2C从设备注意电平匹配通常需 3.3V 供电及上拉电阻。2 软件启动安装 Silicon Labs CP2112 SDK 后运行 HidSmbusExample.exeWindows 路径通常为 ...\SiLabs\MCU\CP2112_SDK\Software\HidSmbusExample\Windows\。3 设备连接点击 Connect 按钮识别 CP2112状态栏显示连接成功。4 参数配置可选在 Configuration 页签设置 SMBus 时钟频率如 100kHz、超时时间等点击 Set 应用并验证返回 HID_SMBUS_SUCCESS。5 数据读写切换至 Data Transfer 页签选择读写模式填入从机地址与数据点击对应请求按钮执行。关键操作详解Data Transfer 页签6 写入操作 (Write Request) Slave Address填入从机 7 位地址**忽略IIC 读写位**左移 1 位后的 8 位写地址例如 7 位地址 0x50 对应写入地址 0xA0。Data to Write依次填入寄存器地址字节 实际数据字节。若需向寄存器 0x80 写入 0x03则输入 80 03若寄存器地址为 2 字节如 0x1080则输入 10 80 03 。 点击 Write Request底部状态栏确认传输完成。注意写入寄存器 0x80 的数据诸如0x03 0x1f0x2a 0x5e 需要这样填 DATA: 80 03 1F 2A 5E.这样之后eeprom 里面地址为 80 81 82 83 分别对应的数据就是 03 1F 2A 5E ,也就是地址只需填写一次后面的数据会自加新地址1.7 读取操作 (Read Request Address Read Request) Slave Address填入从机读地址7 位地址左移 1 位 1例如 0xA1。注意这里在我使用时比如设备的 7 位地址为 1010 000 0x50左移 1(1) 位0xA0但不需要加 1 也可以,所有的设备地址无论读写都可以使用 0xA0Address Command填入要读取的寄存器起始地址。 Number of Bytes设定读取长度。 点击 Read Request数据将显示在接收缓冲区 。(注意我这里是需要点 Force read response 在点 get read response 才可以读取到数据的不排除我的 EEPROM 是损坏的可能8 注意事项a 地址格式软件中所有地址均按 8 位格式输入已包含读写位切勿直接填入 7 位地址。数据顺序写操作时“数据框”内需按先寄存器指针、后数据内容的顺序连续填写十六进制字节中间用空格分隔或直接连写视软件版本提示而定。b 驱动依赖CP2112 为标准 HID 设备Windows Mac 通常免驱若无法连接请检查 USB 线缆是否支持数据传输或重新插拔。 Mac 兼容性旧版 macOS 工具可能存在崩溃问题建议使用最新 SDK 或确认系统兼容性 。 如需编程调用可 参 考 SDK 目 录 下 的 HidSmbus.lib 及 示 例 代 码 C C 通 过 API 函 数 如HidSmbus_WriteRequest实现自动化控制 。 文章摘取自百度个人只负责了部分标注

相关新闻