Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Isa karte ansprechen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
16.08.2003, 10:28 Uhr
~hopfen
Gast


Hallo, habe eine alte ISA Analog /Digitalwandlerkarte (16 kanal /12 Bit) die mal unter Dos 386er lief und wollte nun als c/c++ Neuling ein Programm zum auslesen der Daten unter windows 98 dafür schreiben.
als programmiertool verwend ich das visual studio 6.9 autorenversion.
leider...

Früher unter C schrieb ich das mal testweise mit inport und outport, das geht nicht mehr.
jetzt scheints so zu gehn , zumindest kommen keine Fehlermeldungen:

port=0x270; (oder 624)

b=_inp(port+2); //auslesen von 8 bit

_outp(port+0,k); // z.B Kanaladressierung

inport scheint zu gehen es kommen von einen Adressen unterschiedliche werte raus.
Nur die Ausgabedaten der Karte ändern sich nicht.

Läuft so eine Karte ev. überhaupt nicht mehr unter windows?

Danke für Tips.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.08.2003, 11:10 Uhr
0xdeadbeef
Gott
(Operator)


-->
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
17.08.2003, 19:42 Uhr
~hopfen
Gast


tja, hab schon befürchtet das das was mit Windows und API zu tun hat.
dann muß ich das wohl noch eine zeitlang verschieben bis ich da durchblicke.

Sorry, inport geht natürlich nicht sondern _inp(port+x) reagiert auf unterschiedliche x werte.

danke
Horst
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
17.08.2003, 20:38 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


falls du winnt, w2k oder xp verwendest geht _inp nicht mehr.

Du kannst nicht mehr direkt auf die register zugreifen. Das geht soweit ich weiss nur noch mit assembler
Ich würde vermuten das du dir da was mit CreateFile basteln musst.

Gruss Heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
17.08.2003, 20:45 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
er verwendet W98, da sollten die Funktionen aber gehen.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
17.08.2003, 20:53 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


in meiner doku stand nur was von win95, von 98 stand da leider nichts, daher wusste ich nicht ob das da nun auch noch gilt oder nicht.
Im zweifel gehe ich immer von nicht aus
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
19.08.2003, 20:27 Uhr
~hopfen
Gast


könnt aber auch sein das die Karte durch die Buss Taktfrequenzen überfordert wird, oder ist ISA gleich geblieben?

Die Karte stammt aus 386 16 Mhz Zeiten ;-)
wär aber jetzt als Trainings Model ideal zum testen gewesen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
31.08.2003, 21:53 Uhr
~ao
Gast



Zitat:
Windalf postete
falls du winnt, w2k oder xp verwendest geht _inp nicht mehr.

Du kannst nicht mehr direkt auf die register zugreifen. Das geht soweit ich weiss nur noch mit assembler
Ich würde vermuten das du dir da was mit CreateFile basteln musst.

Gruss Heiko



Stimmt nicht ganz. Der Zugriff auf Hardware-Register ist unter NT & Co (also 2K und XP) nur im Kernel-Mode möglich, d.h. man braucht einen Gerätetreiber dazu. Den programmiert man in C mit dem "Windows Driver Development Kit" (DDK). Früher gabs das mal zum freien Download bei Microsoft, heute muss man, glaub ich, MSDN-Subscriber sein.

Unter Windows 95, 98 und ME ist Hardware auch aus dem User-Mode erreichbar, über die erwähnten _inp- und _outp-Funktionen. Man kann natürlich auch Assembler verwenden.

CreateFile & Co. geht nur, wenn man bereits einen Treiber besitzt und beim Betriebssystem registriert hat, der das Öffnen als File zuläßt.


@hopfen: _inp und _outp sind, wenn ich mich richtig erinnere, die 16-Bit-Versionen. Für 8-Bit-IO verwende _inpb und _outpb. Kann sein, dass es darum nicht funktioniert hat.

ISA: Wenn ISA draufsteht sollte auch ISA drin sein.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
05.09.2003, 22:28 Uhr
~hopfen
Gast


hallo ao,
ja stimmt, sollte 8 bit sein, das sollte aber mit _inp und _outp für byte gehn ?
für _inpb und _outpb hab ich keinen header gefunden

Die Karte läuft richtig, das konnte ich inzwischen mit einem alten exe testfile feststellen. Da war der Quellcode (QC?) noch mit inport und outport geschrieben. Nur ansprechen kan nichs leider noch immer nicht wirklich.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
08.09.2003, 08:48 Uhr
ao

(Operator)



Zitat:
~hopfen postete
hallo ao,
ja stimmt, sollte 8 bit sein, das sollte aber mit _inp und _outp für byte gehn ?
für _inpb und _outpb hab ich keinen header gefunden

Die Karte läuft richtig, das konnte ich inzwischen mit einem alten exe testfile feststellen. Da war der Quellcode (QC?) noch mit inport und outport geschrieben. Nur ansprechen kan nichs leider noch immer nicht wirklich.


Mit den 8 Bit hast du vollkommen recht, das mit inportb und outportb war früher bei Borland.

Dein altes Programm beweist, dass die Karte mit dem neueren PC und dem neueren Betriebssystem funktioniert, d.h. es liegt wahrscheinlich an Programmierfehlern, wenn du es jetzt nicht wieder hinbekommst.

Zeig doch mal was vom Sourcecode.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: