Mit C Hardware ansprechen



  • Hallo Zusammen,

    gibt es die Möglichkeit mit C Hardware, beispielsweise ein I/O Modul, welches am USB Port hängt, anzusprechen?

    Ich möchte ein Programm schreiben, welches anfangs ein Audiosignal von einem Mikrofon aufnimmt, intern vearbeitet und anschließend als Ergebniss der internen Verarbeitung via USB Port ein I/O Modul anspricht.

    Die zweite Frage wäre, ob dafür eher C oder C++ geeignet wäre?

    Vielen Dank und lieben Gruß

    folio



  • Das kommt ganz darauf an, auf welchem Betriebssystem du aufsetzt. Direkte Programmierung der Hardware ist normalerweise maximal dann möglich, wenn du selbst einen Treiber programmierst. Für die normale Applikations-Entwicklung verlässt man sich aber in der Regel selbst auf bereits existierende Treiber und die daraus folgenden Abstraktionen.

    Worauf programmierst du?


  • Mod

    Ja, das ist möglich. Ganz von Grund auf, müsstest du inline-Assembler nehmen. Das hat aber garantiert schon jemand gemacht und als Bibliothek zur Verfügung gestellt. In Fachkreisen nennt man so etwas ein Betriebssystem 😃 . Um dein Problem zu lösen setzt du dich daher am besten mit den Möglichkeiten deines Betriebssytems auseinander oder fragst hier im entsprechenden Unterforum.

    C oder C++ (oder jede andere Sprache) ist ziemlich egal. Die Schnittstellen zum System sind meistens im Stil von C, aber lass dich dadurch nicht von anderen Sprachen abhalten. Nimm die Sprache die du möchtest.



  • boar .. rasante Antworten. Das C-plusplus Forum ist mir sympathisch 🙂 Ich war vorher in anderen Foren in Bezug auf andere Programmiersprachen tätig und dort war es ein wenig träger 🙂

    Wie sieht es denn mit graphical User Interfaces aus? Ich habe vor einiger Zeit mal mit C, sowie C++ programmiert, jedoch nie mit GUI's. Geht das mit beiden Varianten? Momentan bevorzuge ich zur Hardwarenähe und als Wiedereinstieg eher C.

    Auch wenn C# eigentlich was anderes ist, wie sieht es denn damit in Bezug auf spätere Hardwarenähe, Kompatibilität und GUI aus?

    Vielen Dank für die Info's



  • C# kann sich natürlich auch bei der Windows-API bedienen und somit Hardware ansprechen. Und GUI-mäßig isses sowieso top. So schnell und einfach klickst du mit C oder C++ keine Oberflächen zusammen.



  • das Programm würde auch nur auf Windows-Rechnern zum Einsatz kommen. Allerdings könnten es unterschiedliche Versionen sein. Xp-Vista-Windows 7



  • folio schrieb:

    das Programm würde auch nur auf Windows-Rechnern zum Einsatz kommen. Allerdings könnten es unterschiedliche Versionen sein. Xp-Vista-Windows 7

    Solange du nur Funktionen der WinAPI nutzt, die laut Doku seit XP oder früher unterstützt werden (und das sind die meisten), ist das kein Thema.



  • Welche Entwicklungsumgebungen könnt ihr denn Empfehlen? Ich habe für c++ immer mit dem Borland C++ Builder gearbeitet. Jedoch komme ich an diesen nicht mehr dran, da er ja kostenpflichtig ist. Gibt noch Alternativen (vielleicht auch für C), wenn ich wie bei Borland ein Formularfenster erstelle und drum herum alles andere aufbaue?



  • also kostenfreie Alterntiven?



  • folio schrieb:

    wenn ich wie bei Borland ein Formularfenster erstelle und drum herum alles andere aufbaue?

    ? Nur mal eben schnell neben dem Compiler auch die GUI Bibliothek wechseln?
    Na dann viel Spaß.



  • sollte das eine Antwort sein ?



  • Was wäre denn mit Code::Blocks ? Entwicklungsumgebung für C und C++. Gibt es dort auch eine Komponententabelle für den visuellen Teil?



  • Borland war lange Zeit führend bei den Rapid Application Development, kurz RAD.

    Der Entwickler ist dann später zu Microsoft und hat dort ähnliches entwickelt.

    Den Compiler wechseln kann schon haarig werden.
    Aber die visualen GUI-Tools sind kaum kompatibel miteinander. Das wird wahrscheinlich, die Oberfläche betreffend, auf eine Neuprogrammierung hinaus laufen.

    Was gab/gibt es da in C, C++ oder C#:
    Borland und Nachfolger -> Imprise, Embarcadero
    Microsoft
    IBM Visual age
    Dann gab es mal Optima mit dem Watcom-Compiler

    Bei den bisher genannten gehe ich davon aus das es mal kostenfreie abgespeckte Versionen in der Vergangenheit gab.

    Ob folgende Software visuelle Ansätze haben?
    wxDEV
    Quincy
    Ob da mit dem Visual Age "Nachfolger" Eclipse etwas geht 😕
    die könnten auf Basis des gcc GUI-Tools bereitstellen? Befürchte aber das die fühlbar in einer anderen Liga laufen.

    Audiosignal über USB? Warum nicht direkt über eine Soundkarte?

    MfG f.-th.



  • Vielen Dank für die Antwort,

    nach ein paar Recherchen lässt sich wohl vieles mit dem Code::Blocks realisieren. Mit vielen Plugins kann man das Tool erweitern. Des weiteren bin ich noch auf den LCC-Win 32 gestoßen. Dieser sollte zwar einen beschränkten Umfang an visuellen Möglichkeiten bieten, jedoch lassen sich damit Menü's, Buttons etc. realisieren.

    Das Audiosignal möchte ich auch über die Soundkarte erreichen. Jedoch später, nachdem das Audiosignal internern verarbeitet wurde, sollte die Informationen über USB-Interface 'fließen'.


Log in to reply