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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.