zephyr/doc/services/modbus/index.rst
Benjamin Cabé 4f1cd0e428 doc: Migrate subsys/ code samples to new Sphinx extension
This migrates the subsys code samples to the new Sphinx code-sample
extension, making it easier to find relevant samples when browsing
API reference.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-21 09:28:31 +02:00

40 lines
1.5 KiB
ReStructuredText

.. _modbus:
Modbus
######
Modbus is an industrial messaging protocol. The protocol is specified
for different types of networks or buses. Zephyr OS implementation
supports communication over serial line and may be used
with different physical interfaces, like RS485 or RS232.
TCP support is not implemented directly, but there are helper functions
to realize TCP support according to the application's needs.
Modbus communication is based on client/server model.
Only one client may be present on the bus. Client can communicate with several
server devices. Server devices themselves are passive and must not send
requests or unsolicited responses.
Services requested by the client are specified by function codes (FCxx),
and can be found in the specification or documentation of the API below.
Zephyr RTOS implementation supports both client and server roles.
More information about Modbus and Modbus RTU can be found on the website
`MODBUS Protocol Specifications`_.
Samples
*******
* :zephyr:code-sample:`modbus-rtu-server` and :zephyr:code-sample:`modbus-rtu-client` samples give
the possibility to try out RTU server and RTU client implementation with an evaluation board.
* :zephyr:code-sample:`modbus-tcp-server` sample is a simple Modbus TCP server.
* :zephyr:code-sample:`modbus-gateway` sample shows how to build a TCP to serial line
gateway with Zephyr OS.
API Reference
*************
.. doxygengroup:: modbus
.. _`MODBUS Protocol Specifications`: https://www.modbus.org/specs.php