25 lines
1.2 KiB
Markdown
25 lines
1.2 KiB
Markdown
# ModTOS
|
|
|
|
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 |