PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : portbefehle unter c und pas (dos)



nomad
05-09-2001, 09:09
hi leute,

hab ein kleines c-problem:
wie kann man diese pascal-funktion bei c verwenden (unter DOS):

define ba 0x3e8 /* com3 */

beispiel pas: port[ba+4] := 2; { dtr on }

in c: outportb(ba+4,2) /* dtr on */

das sollte ja stimmen

jetzt das problem:

beispiel pas:

function cts : byte
begin
cts := (port[ba+6] and 16) div 16;
end

verwendung: if(cts = 1) then printf("cts: ON");

wie kann ich nun die obige function in C formulieren damit's klappt?
besonders "

vielen dank fuer jede antwort
nomad

ps: ich weiss wohl, dass das mit linux
fast gar nichts zu tun hat,
aber im augenblick
moechte mein gps-board unter unter
DOS angesprochen werden. deswegen...
eben....

DerLipper
05-09-2001, 10:24
Hallo,

versuch mal folgendes:



unsigned char cts()
{
unsigned char ucValue = 0, ucRet = 0;

ucValue = _inp(ba+4);
ucRet = (ucValue & 16) >> 4;

return ucRet;
}


HtH,
Marko

nomad
06-09-2001, 06:06
hi marko,
vielen dank fuer deinen tip.
ich probiers mal aus.
gruss nomad