diff --git a/README.md b/README.md index 4c6de9e..a45f268 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,25 @@ # ModTOS -Modbus RTU driver for STM32 + FreeRTOS with interrupt‑driven frame handling and RS485 GPIO direction control. \ No newline at end of file +Modbus RTU driver for STM32 + FreeRTOS with interrupt-driven frame handling and RS485 GPIO direction control. + +## Overview + +ModTOS is a lightweight, dependency-free Modbus RTU slave implementation intended for use in embedded systems based on STM32 and FreeRTOS. It is designed to operate as a cooperative background task, minimizing CPU usage and avoiding interference with time-sensitive application logic. + +The driver uses interrupt-based UART reception with idle line detection to capture complete RTU frames without polling. RS485 transceiver direction is controlled via a user-defined GPIO pin, allowing the driver to support half-duplex serial communication in industrial settings. + +## Features + +- Function Code 0x03 Read Holding Registers +- Function Code 0x10 Write Multiple Holding Registers +- CRC-16 validation and exception handling +- Flat register buffer 128 x `uint16_t` +- Task-based integration with optional stats tracking +- No dynamic memory allocation +- Easily adaptable to polling or non-RTOS environments + +## Integration Notes + +- Requires UART configured with idle line detection +- GPIO pin needed for RS485 DE/NRE control +- Designed for projects where Modbus functionality must coexist with high-speed control tasks \ No newline at end of file