{"id":24091866,"url":"https://github.com/Prry/rtt-tca9534","last_synced_at":"2025-09-17T01:32:27.353Z","repository":{"id":46002585,"uuid":"362519290","full_name":"Prry/rtt-tca9534","owner":"Prry","description":"tca9534 driver for RT-Thread","archived":false,"fork":false,"pushed_at":"2023-11-12T15:59:48.000Z","size":821,"stargazers_count":1,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-11-12T16:40:31.698Z","etag":null,"topics":["i2c","rt-thread","tca9534"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Prry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-04-28T15:30:06.000Z","updated_at":"2023-11-12T16:40:31.699Z","dependencies_parsed_at":"2022-09-05T11:22:02.347Z","dependency_job_id":null,"html_url":"https://github.com/Prry/rtt-tca9534","commit_stats":null,"previous_names":[],"tags_count":1,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prry%2Frtt-tca9534","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prry%2Frtt-tca9534/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prry%2Frtt-tca9534/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prry%2Frtt-tca9534/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Prry","download_url":"https://codeload.github.com/Prry/rtt-tca9534/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233312762,"owners_count":18657096,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["i2c","rt-thread","tca9534"],"created_at":"2025-01-10T07:44:45.413Z","updated_at":"2025-09-17T01:32:21.962Z","avatar_url":"https://github.com/Prry.png","language":"C","funding_links":[],"categories":["Packages"],"sub_categories":["Peripherals"],"readme":"# TCA9534 8位I/O扩展器驱动软件包\n\n\n\n## 1 简介\n\ntca9534软件包是基于RT-Thread 设备框架实现的一个驱动包。基于该软件包，RT-Thread应用程序可以使用RT-Thread标准IO设备接口(rt_device_open/rt_device_read/rt_device_write/rt_device_control)操作tca9534。\n\n\n\n### 1.1 目录结构\n\n| 名称       | 说明                  |\n| ---------- | --------------------- |\n| docs       | 文档目录              |\n| examples   | 例子目录              |\n| inc        | 头文件目录            |\n| src        | 源代码目录            |\n| LICENSE    | 许可证文件            |\n| SConscript | RT-Thread默认构建脚本 |\n\n\n\n### 1.2 许可证\n\ntca9534软件包遵循 Apache license v2.0 许可，详见 `LICENSE` 文件。\n\n\u003cbr\u003e\n\n## 2 芯片介绍\n\ntca9534是德州仪器（TI）的一款i2c/SMBus转8位I/O的扩展芯片，具有功耗低、供电范围宽、控制灵活、应用范围广等优点。tca9534支持单独输入/输出设置、极性翻转设置、中断信号、多地址选择，通过地址引脚，最多支持8个设备挂在同一根i2c总线上。典型应用场合如下。\n\n* 服务器\n\n* 路由器(电信交换设备)\n\n* 个人电脑\n\n* 个人电子产品(如游戏机)\n\n* 工业自动化\n\n* gpio有限的处理器产品\n\n\n\n\u003cbr\u003e\n\n## 3 支持情况\n\n\n\n| 包含设备     | tca9534 |\n| ------------ | ------- |\n| **通信接口** |         |\n| IIC          | √       |\n| SPI          |         |\n| **工作模式** |         |\n| 轮询         | √       |\n| 中断         |         |\n| FIFO         |         |\n| **电源模式** |         |\n| 掉电         |         |\n| 低功耗       |         |\n| 普通         | √       |\n\n\n\n\u003cbr\u003e\n\n## 4 使用说明\n\n### 4.1 依赖\n\n- RT-Thread 3.0.0+\n- I2C 驱动，tca9534设备使用 I2C 进行数据通讯，需要系统 I2C 驱动框架支持\n\n\n\n### 4.2 获取软件包\n\n使用 tca9534 package 需要在 RT-Thread 的包管理器中选择它，具体路径如下。然后让 RT-Thread 的包管理器自动更新，或者使用 `pkgs --update` 命令更新包到 BSP 中。如需使用示例程序，则使能\u003ccode\u003eEnable tca9534 sample\u003c/code\u003e。\n\n```\nRT-Thread online packages ---\u003e\n    peripheral libraries and drivers ---\u003e\n        sensors drivers ---\u003e\n            [*] TCA9534: a 8-bit I/O expander for i2c-bus.\n            \t\t[*] Enable tca9534 sample\n                    Version (latest)  ---\u003e\n```\n\n\u003e  **Version**：软件包版本选择，默认选择最新版本。 \n\n\n\n### 4.3 初始化\n\ntca9534软件包初始化函数如下所示：\n\n```C\nrt_err_t rt_tca9534_init(const char *dev_name, const char *i2c_name, rt_uint8_t i2c_addr);\n```\n\n该函数需要由用户调用，函数主要完成的功能有:\n\n- dev_name，tca9534设备名称\n\n- i2c_name，i2c总线设备名称\n\n- i2c_addr，tca9534从地址\n\n  \n\n**参考示例：**\n\n```c\n#include \"tca9534.h\"\n\nstatic int rt_hw_tca9534_port(void)\n{\n    return rt_tca9534_init(\"tca9534\", \"i2c1\", 0x20);\n}\nINIT_DEVICE_EXPORT(rt_hw_tca9534_port);\n```\n\n\n\n### 4.4 访问设备\n\ntca9534 软件包基于RT-Thread标准设备框架，可以使用RT-Thread标准设备口(rt_device_open/rt_device_read/rt_device_write/rt_device_control)来访问tca9534。\n\n\n\n**参考伪代码:**\n\n```c\ndev = rt_device_find(\"tca9534\");/* 查找设备 */\n\n/* 设置P0输出模式，不翻转极性 */\ncfg.pin = 0;\ncfg.mode = RT_TCA953_MODE_OUTPUT;\ncfg.polarity = RT_TCA953_POLARITY_NOR;\nrt_device_control(dev, RT_TCA953_CTRL_MODE, (void*)\u0026cfg);/\n\nrt_device_write(dev, 0, 1, 1);\t/* P0输出高电平（1） */\nrt_device_read(dev, 1, \u0026read, 1); /* 读取P1输入状态 */\n```\n\n\u003cbr\u003e\n\n### 4.5 msh/finsh测试\n\n#### 查看设备注册\n\n```b\nmsh \u003elist_device\ndevice           type         ref count\n-------- -------------------- ----------\ntca9534  Sensor Device        1            \ni2c1     I2C Bus              0            \nuart1    Character Device     2 \n```\n\n\n\n#### 执行sample\n\n```b\ntca9534 P0 status,[0x00]\ntca9534 P0 status,[0x01]\ntca9534 P0 status,[0x00]\ntca9534 P0 status,[0x01]\n```\n\n\u003cbr\u003e\n\n## 5 注意事项\n\n暂无\n\n\u003cbr\u003e\n\n## 6 联系方式\n\n- 维护：[Acuity](https://github.com/Prry)\n- 主页：\u003chttps://github.com/Prry/rtt-tca9534\u003e    ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPrry%2Frtt-tca9534","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPrry%2Frtt-tca9534","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPrry%2Frtt-tca9534/lists"}