2025-11-24 02:34:40 +00:00
2025-11-24 02:31:10 +00:00
2025-11-24 02:34:40 +00:00

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
Description
Modbus RTU driver for STM32 + FreeRTOS with interrupt‑driven frame handling and RS485 GPIO direction control.
Readme 40 KiB
Languages
C 100%