The Modbus server was previously unstable, leading to intermittent CRC errors when polled by a master. This was caused by the main thread exiting after initialization, which created timing and race condition issues for the interrupt-driven Modbus stack. This fix ensures the main thread continues to run in a low-power sleep loop (). This provides a stable context for the Modbus server, resolving the CRC errors and ensuring reliable communication.
22 lines
382 B
Plaintext
22 lines
382 B
Plaintext
/ {
|
|
chosen {
|
|
zephyr,console = &rtt;
|
|
zephyr,shell-uart = &rtt; // If using shell
|
|
};
|
|
|
|
rtt: rtt {
|
|
compatible = "segger,rtt-uart";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
label = "RTT";
|
|
status = "okay";
|
|
};
|
|
};
|
|
&usart1 {
|
|
modbus0 {
|
|
compatible = "zephyr,modbus-serial";
|
|
status = "okay";
|
|
};
|
|
status = "okay";
|
|
};
|