finds.dev← search

// the find

foxclever/Modbus

★ 369 · C · updated Aug 2021

一个Modbus通讯协议栈

A C Modbus protocol stack supporting RTU master/slave, ASCII master/slave, and TCP client/server modes, covering function codes 0x01–0x10. Targets embedded developers — primarily STM32 — who need a reusable Modbus implementation they don't have to rewrite per project. Documentation is in Chinese.

Covers all the common function codes (01, 02, 03, 04, 05, 06, 0F, 10) — that's enough for 95% of real industrial use. Multi-master support on both serial and Ethernet links is a practical addition that most hobby-grade stacks omit. The separation into six distinct object types (RTU master/slave, ASCII master/slave, TCP client/server) keeps the API surface predictable. The STM32F4 example ships with the full HAL/CMSIS driver tree, so you can actually run it without hunting for dependencies.

Dead since August 2021 — the Modbus spec hasn't changed but embedded toolchains and HAL versions have, and there are no bug fixes in the queue. The documentation and README are Chinese-only, which cuts off most of the Western audience who might otherwise adopt it. DataObject.c/h are declared obsolete in the README with no migration guidance, which is a bad sign for API stability. No test suite of any kind — you're trusting the example project and your own hardware to find frame parsing bugs, and those tend to be subtle.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →