Autor |
Glühbirne über RS 232 an den PC anschließen |
|
|
|
|
BID = 361988
Dombrowski Stammposter
Beiträge: 450
|
|
Moin.
Zitat :
| Folgende Fehlermeldung wird angezeigt:
asm/io.h: no such file or directory | Ja, das kann gut sein, dass die Include-Datei mit den I/O-Funktionen in deiner Programmierumgebung anders heißt. Da musst du nach den Infos der Windows-Leute gehen oder selber mal suchen. Zu Cygwin oder überhaupt zur Programmierung unter Windows weiß ich keine Einzelheiten.
Hier im Forum hatte gerade jemand ein Programm für eine Relaiskarte am Druckerport vorgestellt. Vielleicht kannst du das als Vorbild nehmen und schrittweise anpassen:
- Sourcecode in deiner Programmierumgebung kompilieren.
- Programm laufen lassen und prüfen, ob es tut. Miss die Pegel an den Pins eines Druckerkabels.
- Steuerbuttons auf drei Kanäle verringern.
- Statt Zugriff auf der Druckerportregister jetzt Zugriff auf SerPort-Register.
D. |
|
BID = 361992
Lui Gelegenheitsposter
Avatar auf fremdem Server ! Hochladen oder per Mail an Admin
Beiträge: 96
|
|
Zumindest vom Prinzip her.
Evtl. musst Du bei Deinem Compiler/Linker noch die zugehörige 'windows.lib' Bibliothek einbinden.
Und SETRTS/CLRRTS schaltet den RTS-Pin .
Vieleicht noch eine Editor/Compiler Empfehlung:
Dev-C++ benutzt auch den gcc, nimmt aber einiges an Arbeit ab.
Oder (reines C und nur unter Windows): LCC, m.E. die einfachste Umgebung für Anfänger. |
|
BID = 362001
mex82 Neu hier
Beiträge: 24 Wohnort: Calw
|
kann mir auch einer literaturtipps geben?
das beispiel im forum mit der relaiskarte habe ich nicht wirklich verstanden!
|
BID = 362019
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Das ist auch mit einer komplett anderen Programmiersprache geschrieben.
Aber die DLL davon mannste benutzen.
_________________
|
BID = 362274
mex82 Neu hier
Beiträge: 24 Wohnort: Calw
|
Zitat :
| Evtl. musst Du bei Deinem Compiler/Linker noch die zugehörige 'windows.lib' Bibliothek einbinden.
Und SETRTS/CLRRTS schaltet den RTS-Pin |
wie füge ich die bibliothek?
|
BID = 362275
mex82 Neu hier
Beiträge: 24 Wohnort: Calw
|
Zitat :
| Evtl. musst Du bei Deinem Compiler/Linker noch die zugehörige 'windows.lib' Bibliothek einbinden.
Und SETRTS/CLRRTS schaltet den RTS-Pin |
wie füge ich die bibliothek?
|
BID = 362292
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
#include <windows.h>
(zumindestens so bei VC++, aber das sollte noch portierbar sein, es sei denn, dein OS basiert auf Linux, dann wird das nix )
_________________
[ Diese Nachricht wurde geändert von: DonComi am 22 Aug 2006 11:43 ]
|
BID = 362308
mex82 Neu hier
Beiträge: 24 Wohnort: Calw
|
ich bedanke mich erstmal für all die tipps, die man mir gegeben hat!
nun bin ich (als anfänger) ganz durcheinander gekommen!
kurz zusammengefasst:
ich habe nun mal folgende hardware (siehe bild)!
nun will ich in einen editor einen programm schreiben,
dies im cygwin mit dem befehl gcc name.c compilieren.
kann mir einer ungefähr sagen, was in den editor gehört?
|
BID = 362320
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Kanst du denn in C (in C++) programmieren?
Wenn nein, warum muss es dann gleich in C (C++) sein?
Ich empfehle an deiner Stelle mal Basicversionen für Dos. Mag blöd klingen, aber da hat man vollen Hardwarezugriff und es reicht eine Zeile wie
und schon passiert was. Musst bloß mithilfe der Systemsteuerung/des Bios' rausfinden, welche Hardwaredresse dein COM-Port hat. (bei mir isses 0x3F8 +)
Dann kann man das ganze auch visuell anspruchsvoller machen (Delphi oder VisualBasic, da ist der Code auch ziemlich gleich und es existiert eine DLL, die den Zugriff mit den Funktionen in und outport unterstüzt.)
Für VisualBasic gibt es auch das COM-Object, damit kann man das glaube ich auch machen.
_________________
|
BID = 362352
mex82 Neu hier
Beiträge: 24 Wohnort: Calw
|
DOS? das kann man doch nicht mit windows!
ich kann einfache sachen, wie z.b. "hello world" in java und c programmieren,
aber der rs 232 anschluss- steuerung ist nun mal ne andere sache!
delphi und visual basic ist mir völlig fremd! ich guck mal nach literatur!
|
BID = 362366
bastler16 Schreibmaschine
Beiträge: 2140 Wohnort: Frankreich
|
Zitat :
| DOS? das kann man doch nicht mit windows! |
Versteh ich nicht so ganz. Also DonComi meint reines DOS.
Das bekommt man über eine Startdiskette gestartet, oder (außer bei Windows XP glaub ich) man kann es im Startmenü anwählen ("im Ms-Dos Modus booten" oder so, beim Starten F8 drücken).
EDIT: Wenn es eine DLL für Windows XP gibt, das interressiert mich auch. Ansteuern könnte man die z.B. mit Profan (ver. 5 ist kostenlos), das ist ähnlich Basic.
[ Diese Nachricht wurde geändert von: bastler16 am 22 Aug 2006 14:36 ]
|
BID = 362395
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Win9x basiert auf Dos, also gibt es das da nocht. Der Vorteil ist, dass man dort direkten Harteware-Zugriff hat.
Das hat man unter WinXP nimmer!
Es gibt eine DLL namens "inpout32.dll", dmit kann man die "Kultfunktionen/Prozeduren" inport und outport (bzw. in Basic in und out) auch in Windows benutzen.
Die exportierten Programmfunktionen:
Function Inp Lib "inpout32.dll" Alias "Inp32" (PortAddress As Integer) As Integer
Sub Out Lib "inpout32.dll" Alias "Out32" (PortAddress As Integer, ByVal Value As Integer)
Das kann man so in allen Win32-Sprachen verwenden! Die Konsolenprogramme aus VC++ laufen auch unter Win98, selber gestern getestet.
Es gibt außerdem noch die "port.dll", die extra für den COM-Port entwickelt wurde. Sie exportiert folgende Prozeduren:
Declare Function OPENCOM Lib "Port" (ByVal A$) As Integer
Declare Sub CLOSECOM Lib "Port" ()
Declare Sub SENDBYTE Lib "Port" (ByVal b%)
Declare Function READBYTE Lib "Port" () As Integer
Declare Sub DTR Lib "Port" (ByVal b%)
Declare Sub RTS Lib "Port" (ByVal b%)
Declare Sub TXD Lib "Port" (ByVal b%)
Declare Function CTS Lib "Port" () As Integer
Declare Function DSR Lib "Port" () As Integer
Declare Function RI Lib "Port" () As Integer
Declare Function DCD Lib "Port" () As Integer
Declare Sub DELAY Lib "Port" (ByVal b%)
Declare Sub TIMEINIT Lib "Port" ()
Declare Sub TIMEINITUS Lib "Port" ()
Declare Function TIMEREAD Lib "Port" () As Long
Declare Function TIMEREADUS Lib "Port" () As Long
Declare Sub DELAYUS Lib "Port" (ByVal l As Long)
Declare Sub REALTIME Lib "Port" (ByVal i As Boolean)
Sind jetzt alle aus "uralten" VB-Programmen, gehen aber wie gesagt unter allen Win32-Programmiersprachen.
_________________
|
BID = 362403
mex82 Neu hier
Beiträge: 24 Wohnort: Calw
|
Zitat :
| Declare Function OPENCOM Lib "Port" (ByVal A$) As Integer
Declare Sub CLOSECOM Lib "Port" ()
Declare Sub SENDBYTE Lib "Port" (ByVal b%)
Declare Function READBYTE Lib "Port" () As Integer
Declare Sub DTR Lib "Port" (ByVal b%)
Declare Sub RTS Lib "Port" (ByVal b%)
Declare Sub TXD Lib "Port" (ByVal b%)
Declare Function CTS Lib "Port" () As Integer
Declare Function DSR Lib "Port" () As Integer
Declare Function RI Lib "Port" () As Integer
Declare Function DCD Lib "Port" () As Integer
Declare Sub DELAY Lib "Port" (ByVal b%)
Declare Sub TIMEINIT Lib "Port" ()
Declare Sub TIMEINITUS Lib "Port" ()
Declare Function TIMEREAD Lib "Port" () As Long
Declare Function TIMEREADUS Lib "Port" () As Long
Declare Sub DELAYUS Lib "Port" (ByVal l As Long)
Declare Sub REALTIME Lib "Port" (ByVal i As Boolean) |
wo kann ich das den eintippen? (unter windows xp geht das nicht?)
wenn man zeit hat, bitte schritt für schritt erklären, ansonsten trotzdem danke!
|
BID = 362413
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Doch, das geht unter XP! Das habe ich doch explizit geschrieben .
Ich habe auch geschrieben, wo man das 1:1 reintippt:
Zitat :
|
Sind jetzt alle aus "uralten" VB-Programmen, gehen aber wie gesagt unter allen Win32-Programmiersprachen.
|
Du kannst diese Deklarationen, wie ich auch schrieb, unter allen anderen 32-Bit-Programmiersprachen verwenden! Solange diese API-Calls unterstützen.
such mal nach Beispielen im Internet für deine Sprache, das knn ich dir nämlich so nicht beantworten, da ich von deiner Programmierumgebung keine Ahnung habe.
Viel Erfolg
_________________
|
BID = 362418
bastler16 Schreibmaschine
Beiträge: 2140 Wohnort: Frankreich
|
|