Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:c:portkezeles

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

oktatas:programozas:c:portkezeles [2017/10/02 20:29]
oktatas:programozas:c:portkezeles [2019/08/21 17:55] (aktuális)
admin létrehozva
Sor 1: Sor 1:
 +[[oktatas:​programozás:​c|<​ C]]
 +
 +====== Portkezelés ======
 +===== GCC =====
 +
 +
 +
 +<code c portkezeles.c>​
 +#include <​sys/​io.h>​
 +  ​
 +main()
 +{
 +    int ertek;
 +    int lab1, lab2, lab3, lab4, lab5, lab6, lab7, lab8,
 +    ​
 +    //​Ellenőrizzük írható-e a port (jog)
 +    if(ioperm(0x378,​ 3, 1))
 +    {
 +      printf("​Nincs jogod a portot írni\n"​);​
 +      exit(1);
 +    }
 +    ​
 +    /* Ha lab1 = 1, akkor a lab1 be van kapcsolva. 0 esetén ki */
 +    lab1 = 0; //​Kikapcsolva
 +    lab2 = 1; //​Bekapcsolva
 +    lab3 = lab4 = lab5 = lab6 = lab7 = lab8 = 0; //Mind kikapcsolva
 +  ​
 +    ertek = lab1*1 + lab2*2 + lab3*4 + lab4*8 + lab5*16 + lab6*32 + lab7* 64 + lab8*128;
 +  ​
 +    //A 0x378-as portra írjuk az értéket. ​
 +    outb(ertek, 0x378);
 +}
 +</​code>​
 +
 +===== Turbo vagy Borland C (DOS) =====
 +  output(portcím,​ adat);