Modbus RTU Lib für STM32

OP #7719282
Lesenswert?

Danke für die Beispiele.

Harald K. schrieb:

https://github.com/cwalter-at/freemodbus

In C geschrieben, kann RTU, ASCII und TCP, Adaptionen für diverse Controller (verschiedene ARMe, AVR, MSP430) und auch Betriebssysteme (Windows/Linux).

Nicht der schönste Sourcecode, aber funktional.

Glaube das diese am einfachsten zu portieren ist. Die St spezifischen haben alle FreeRtos und das brauche ich nicht.

Sollte jemand noch andere kennen bitte immer her damit. Danke und schönen Abend

#7719815
Lesenswert?

Mein_erstes_Mal schrieb:

Hat jemand ein lauffähiges Beispiel ohne FreeRtos?

Such Dir hier eines aus:

https://github.com/cwalter-at/freemodbus/tree/master/demo

Die Beispiele für AVR, MSP430, Atsam3s, hc8, bare, lpc214x etc. nutzen alle kein FreeRTOS.

Und wenn Du sehen willst, wo die Unterschiede zwischen FreeRTOS und nicht-FreeRTOS liegen, mach ein Diff auf atsam3s und atsam3s_freertos

Interessant sind nur die Dateien im Verzeichnis port - da geschieht die Anpassung an die jeweils verwendete serielle Schnittstelle.

#7719842
Lesenswert?

Nun, das bestehende Projekt wird ja wohl irgendwo irgendwelche Funktionen haben, über die es mit der seriellen Schnittstelle redet.

Oder tut es das noch gar nicht? Dann wirst Du herausfinden, wie Du das mit der HAL machst, und das in dem Portierungslayer verwenden. Es gibt da ein Beispiel namens "bare", das enthält gar nichts µC-spezifisches, sondern nur ein Grundgerüst, in das Du Deine entsprechenden HAL-Funktionen reinpacken musst.

Sieh Dir beispielsweise demo/bare/port/portserial.c an. Da gibt es die Funktionen xMBPortSerialPutByte und xMBPortSerialGetByte. Die Namen sind doch recht selbsterklärend, oder?

Als ersten Schritt solltest Du Dir vielleicht die doxygen-Dokumentation bauen, dazu musst Du nur das (sogar im Verzeichnis tools mitgelieferte) doxygen auf doc/doxygen.conf loslassen, und erhältst eine Latte von HTML-Dateien.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren