Hallo, ich suche eine kleine einfache Lib um einen Modbus Slave zu implementieren. Würde auch was komerzielles nehmen. Danke für eure Hilfe
https://libmodbus.org/ (sehr verbreitet, gut getestet, ist aber eher für Posix API wie Linux) https://github.com/alejoseb/Modbus-STM32-HAL-FreeRTOS https://github.com/urands/stModbus https://github.com/kiltum/modbus https://github.com/eziya/STM32_HAL_FREEMODBUS_RTU (speziell für STM32, keine Ahnung wie gut die sind) fchk
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.
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
Hat jemand ein lauffähiges Beispiel ohne FreeRtos? Würde mir sehr helfen Danke
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.
Harald K. schrieb: > Interessant sind nur die Dateien im Verzeichnis port - da geschieht die > Anpassung an die jeweils verwendete serielle Schnittstelle. Hallo, ja, das bestehende Projekt ist mit der HAL gemacht. Und ich weiß leider nicht wie ich jetzt das ganze verheiratet bekomme.
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.
Harald K. schrieb: > 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. Das war ein guter Tipp Danke. Zusammen mit dem "bare" Beispiel habe ich den Stack nun laufen Danke für Eure Hilfe
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.