Serielle Schnittstelle in C



  • Hallo zusammen,

    nach paar Jahren Pause möchte ich mal wieder mit dem programmieren anfangen, leider habe ich nach 10 Jahren total den Überblich verloren.
    Mein Schwiegervater braucht eine kleine Alarmanlage für seine Gartenhäuschen, ist ja auch egal...
    Da ich früher einiges mit AVR microControlleren gemacht habe würde gerne dort wieder einsetzen.
    Ich habe schon ein Siemens ME45 und eine AVR Board, allerdings würde ich erstmals den Code dafür am PC<->COM<->Handy in C entwickeln und bei Fertigstellung mit AVR flashen.
    Ich habe viele Beispiele für serielle Schnittstelle gefunden, bis jetzt aber kein Code in C.
    Das würde mir den Einstieg enorm erleichtern.
    Ich habe es mit AutoIt zum laufen gebracht und konnte die üblichen AT Befehle ausführen. Allerdings sind viele Befehle im C nicht vorhanden, damit möchte ich vermeiden den Code komplett vom AuotIt ins C umzuschreiben.

    Konkret heiß es, ich suche einen Code Beispiel in C mit dem ich AT-Commands empfangen und versenden kann?

    Vielen Dank
    chrwie



  • C kennt keine serielle Schnittstelle, von daher ist deine Frage in diesem Forum schon mal falsch...
    Verstehe ich das richtig, dass du Code suchst, mit dem du auf einem AVR-µC mittels RS232 AT-Kommandos abschicken kannst?
    => http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART

    Ist zwar kein fertiger C-Code, aber allgemein ist mikrocontroller.net fuer Basteleien mit µCs und eingebetteten Systemen eine sehr gute Anlaufstelle.
    Google kennt vielleicht auch noch Schnippsel in C, falls es dir zu muehsam ist, den Text durchzulesen und selbst etwas zu schreiben.
    Wenn du weisst, wie die AT-Kommandos funktionieren sollte es dann jedenfalls kein unueberwindbares Hindernis darstellen, mit deinen Funktionen fuer die serielle Schnittstelle etwas zu implementieren.



  • Hallo,

    C kennt keine serielle Schnittstelle, von daher ist deine Frage in diesem Forum schon mal falsch...
    Verstehe ich das richtig, dass du Code suchst, mit dem du auf einem AVR-µC mittels RS232 AT-Kommandos abschicken kannst?
    => http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART

    > Nein, ich möchte das Mobile erstmals direkt über die serielle Schnittstelle am PC ansprechen und programmieren. Den Code möchte ich deshalb in C schreiben um es später im AVR Studio zu kopieren und weiter zur verwenden.
    Ich denke damit würde ich mir viel Zeit ersparen da ich unter Windows eine Konsole habe mit der ich mir vieles Anzeigen kann.
    Es sind hauptsächlich AT Strings die bearbeitet und ausgwertet werden müssen.

    C kennt keine serielle Schnittstelle, von daher ist deine Frage in diesem Forum schon mal falsch...

    > Geht es nur mit C++?

    Grüße



  • chrwie schrieb:

    > Geht es nur mit C++?

    Nein, C++ kennt auch keine serielle Schnittstelle. Das ist gar nicht verwunderlich, wenn man erwägt, dass die beiden auch für Geräte bestimmt sind, die keine seriellen Schnittstellen haben.
    🙂



  • Wie soll ich das verstehen?



  • chrwie schrieb:

    Wie soll ich das verstehen?

    Zur einen Hälfte als Ordnungswahn, weil du im falschen Forum bist, zur anderen Hälfte als Hinweis darauf, dass man dafür eine C-Bibliothek oder einen passenden Assembler braucht. Wenn du darauf abzielst, das Programm unverändert auf PCs und Mikrocontrollern zu verwenden, solltest du darauf achten, dass die Schnittstelle beide male auf die gleiche Weise angesprochen wird.
    🙂



  • Da die serielle Schnittstelle im PC und im AVR aufgrund der reichlich verschiedenen Systemarchitektur intern nicht identisch angesprochen werden kann, brauchst du also eine Lib, die fuer PC und deinen AVR-µC verfuegbar ist.
    Ich kenne keine solche Lib... Da du idR. auch nicht einfach 1000 Standard-Libs auf einem µC verwenden kannst (oder solltest), stell dich am besten darauf ein, dass du die I/O-Funktionen fuer die serielle Schnittstelle wirst selbst schreiben muessen.
    Vor diesem Hintergrund ist fraglich, ob es sich lohnt, das ganze erstmal extra fuer PC zu programmmieren, statt gleich fuer AVR und sich dabei auch gleich mit dem Debugging auf dem Zielsystem zu beschaeftigen, als spaeter in massenweise unerwartete Probleme bei der Portierung auf den AVR zu laufen.



  • chrwie schrieb:

    Wie soll ich das verstehen?

    ANSI C schrieb:

    Fragen zur Seriellen-Schnittstelle oder ähnliches haben nichts mit C zu tun. Bitte dies in den entsprechenden Foren (Unix, DOS, WinAPI, Rund Um Die Programmierung) posten. Danke 😉

    Steht kuhgroß in ANSI-C- Start drin. Für die paar Zeilen , die der AVR braucht, findest Du mit Sicherheit Hilfe beim Mikrocontroller.net- Forum. Was die PC- Seite anbelangt, müsstest Du die Frage im passenden API- Forum stellen. Googeln hilft übrigens ... 😉



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten