Computersteuerung

Gast #57917
Lesenswert?
• ▲
▼
Hi.

Ich habe eine Frage zur C Programmierung. Und zwar möchte ich mich mehr
in die fortgeschritteren Gefilde dieser Sprache einarbeiten: Die
Hardwaresteuerung mit C. Nur habe ich bislang keine geeignete Quellen,
sprich Tutorials, gefunden. Ist es mit C überhaupt möglich, dass ich
z.B.: den Drucker anspreche, oder das Modem, usw.

Ich bin mir ja ziemlich sicher, dass es geht. Aber aufgrund des
Informationsmangels im Internet kommen mir langsam Zweifel. Kann mir
jemand Links zu guten Seiten verraten, die diese Themen behandeln?

Vielen Dank im Voraus.
Sebastian Thalhammer
Gast #57919
Lesenswert?
• ▲
▼
Und auch mal über den Tellerrand schauen: Linux ist (nahezu?) komplett
in C programmiert. In diesem Umfeld sollten sich reichlich
Informationen und Quelltexte zum Thema hardwarenahe Programmierung
finden lassen.

Gruß, Frank
Gast #57920
Lesenswert?
• ▲
▼
Jo, ist in erster Linie Kommunikation mit dem Betriebssystem, da es nur
dadurch unabhängig von der jeweiligen Hardware wird. Was nutzt das
schönste Programm, welches dann nur auf exakt deinem PC läuft?
Ich bin schon eine ganze Weile raus aus dem PC-Software-Bereich,
erinnere mich aber, es grösstenteils über API gemacht zu haben. Ob das
noch up-to-date ist??
Gast #57921
Lesenswert?
• ▲
▼
@Frank:
Die Linux-Sourcen werden ihm nicht allzuviel bringen, da im Kernel ja
nur Treiber sind und die eh' alles dürfen und außerdem Programme mit
Rootrechten eh' alles dürfen. Das läßt sich so nicht auf die
Windows-Welt übertragen.

@crazy horse:
Wenn er C programmiert ist die Winapi schon das Mittel der Wahl. Wenn
er C++ oder C# programmiert, dann kann er natürlich auch die MFC bzw.
die  .NET-Klassen verwenden.

Markus
Gast #57922
Lesenswert?
• ▲
▼
Wichtig wäre noch welches Betriebsystem, da z.B. Win2K direkte
Portzugriffe unterbindet.
Im Allgemeinen würde ich eine DLL für Portzugriffe verwenden, man muss
das Rad nich neu erfinden :-)

Die PORT.DLL funktioniert gut und ist einfach einzubinden.

cu tb
Gast #57925
Lesenswert?
• ▲
▼
Ich habe noch eine Frage.

Also:
Ich habe mir gerade erst eine Tastatur von Logitech zugelegt. Mit der
ist es möglich verschiedene zusätzliche Funktionen auszuführen z.B.:
Lautstärke regeln. Hier wird wahrscheinlich die Soundkarte (oder in
meinem Fall der OnBoard Chip) modifiziert (berichtigt mich bitte, wenn
ich falsch liege).

Wird so etwas mit C oder C++ realisiert? Zugegeben, es wäre für mich
eine Nummer zu groß so etwas zu programmieren aber es interessiert mich
einfach.
Gast #57926
Lesenswert?
• ▲
▼
ne, die tastatur regelt lediglich deine windows lautstärke.
sieht man auch gut wenn man den windows mixer öffnet und dann die
lautstärke lauter und leiser macht. da geht dann der schieberegler für
die allgemeine lautstärke mit.
denk mal schon das die das in c++ gemacht ham. assembler wäre hierfür
zu aufwändig, da es hier ja nicht auf geschwindigkeit ankommt.
Gast #57927
Lesenswert?
• ▲
▼
Hi

das geschieht einfach durch entsprechende Aufrufe der Windows API. Der
Tastaturtreiber der Logitech sendet an das OS den Befehl "Lautstärke
um 5 Punkte runter" und das OS sollte es dann ausführen bzw. die
Aufforderung an der Treiber der Soundkarte weiterleiten welcher dann
die entsprechenden Register im Soundchip ändert. Sowas wird zware in
der Regel mit C oder C++ geschrieben aber es spricht nichts dagegen
eine andere Programmiersprache zu verwenden. Für Treiber kommt
allerdings hauptsächlich C zum Einsatz da andere Sprachen bereits zu
weit von der Hardware entfernt sind.

Matthias

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.