Commcarte.c : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
 
(3 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
[[Cours:Tp_II|retour à la page précédente]]
+
{{RetourVers/TpII}}
  
#include "commcarte.h"<br>
+
<source lang="c">
int openParPort(char * parport)
+
#include "commcarte.h"
{
 
  int errno, device;
 
  if ((device = open(parport, O_RDWR)) < 0)
 
  {
 
    fprintf(stderr,"Erreur à l'ouverture : %s (%d)\n",
 
    strerror(errno),errno);
 
    return -1;
 
  }
 
 
 
  if (ioctl(device, PPCLAIM) < 0)
 
  {
 
    fprintf(stderr,"Erreur d'accès : %s (%d)\n",
 
    strerror(errno),errno);
 
    return -1;
 
  }
 
  return device;
 
}<br>
 
int ecrireParPortp(int device,unsigned char *val)
 
{
 
  if (ioctl (device, PPWDATA, val) < 0)
 
  {
 
    fprintf(stderr,"erreur d'écriture : %s (%d)\n",
 
    strerror(errno),errno);
 
    return -1;
 
  }
 
  return 0;
 
}<br>
 
int ecrireParPort(int device,unsigned char val)
 
{
 
  if (ioctl (device, PPWDATA, &val) < 0)
 
  {
 
    fprintf(stderr,"erreur d'écriture : %s (%d)\n",
 
    strerror(errno),errno);
 
    return -1;
 
  }
 
  return 0;
 
}<br>
 
int closeParPort(int device)
 
{
 
  if (ioctl(device, PPRELEASE) < 0)
 
  {
 
    fprintf(stderr,"Erreur : %s (%d)\n",
 
    strerror(errno),errno);
 
    return -1;
 
  }
 
  if(close(device) < 0)
 
  {
 
    fprintf(stderr,"Erreur de fermeture : %s (%d)\n",
 
    strerror(errno),errno);
 
    return -1;
 
  }
 
  return 0;
 
}
 
  
[[Cours:Tp_II|retour à la page précédente]]
+
int openParPort(char * parport)
 +
{
 +
  int errno, device;
 +
  if ((device = open(parport, O_RDWR)) < 0)
 +
  {
 +
    fprintf(stderr,"Erreur à l'ouverture : %s (%d)\n",
 +
    strerror(errno),errno);
 +
    return -1;
 +
  } 
 +
  if (ioctl(device, PPCLAIM) < 0)
 +
  {
 +
    fprintf(stderr,"Erreur d'accès : %s (%d)\n",
 +
    strerror(errno),errno);
 +
    return -1;
 +
  }
 +
  unsigned char val=4;
 +
  if (ioctl (device, PPWCONTROL, &val) < 0)
 +
  {
 +
    fprintf(stderr,"erreur de configuration : %s (%d)\n",
 +
    strerror(errno),errno);
 +
    return -1;
 +
  }
 +
  return device;
 +
}
 +
 
 +
int ecrireParPortp(int device,unsigned char *val)
 +
{
 +
  if (ioctl (device, PPWDATA, val) < 0)
 +
  {
 +
    fprintf(stderr,"erreur d'écriture : %s (%d)\n",
 +
    strerror(errno),errno);
 +
    return -1;
 +
  }
 +
  return 0;
 +
}
 +
 
 +
int ecrireParPort(int device,unsigned char val)
 +
{
 +
  if (ioctl (device, PPWDATA, &val) < 0)
 +
  {
 +
    fprintf(stderr,"erreur d'écriture : %s (%d)\n",
 +
    strerror(errno),errno);
 +
    return -1;
 +
  }
 +
  return 0;
 +
}
 +
 
 +
int closeParPort(int device)
 +
{
 +
  unsigned char val=3;
 +
  if (ioctl (device, PPWCONTROL, &val) < 0)
 +
  {
 +
    fprintf(stderr,"erreur de configuration : %s (%d)\n",
 +
    strerror(errno),errno);
 +
    return -1;
 +
  }
 +
  if (ioctl(device, PPRELEASE) < 0)
 +
  {
 +
    fprintf(stderr,"Erreur : %s (%d)\n",
 +
    strerror(errno),errno);
 +
    return -1;
 +
  }
 +
  if(close(device) < 0)
 +
  {
 +
    fprintf(stderr,"Erreur de fermeture : %s (%d)\n",
 +
    strerror(errno),errno);
 +
    return -1;
 +
  }
 +
  return 0;
 +
}
 +
</source>
 +
 
 +
{{RetourVers/TpII}}

Version actuelle datée du 15 décembre 2012 à 21:52

retour vers la page des Tps II

#include "commcarte.h"

int openParPort(char * parport)
{
  int errno, device;
  if ((device = open(parport, O_RDWR)) < 0)
  {
    fprintf(stderr,"Erreur à l'ouverture : %s (%d)\n",
    strerror(errno),errno);
    return -1;
  }   
  if (ioctl(device, PPCLAIM) < 0)
  {
    fprintf(stderr,"Erreur d'accès : %s (%d)\n",
    strerror(errno),errno);
    return -1;
  }
  unsigned char val=4;
  if (ioctl (device, PPWCONTROL, &val) < 0)
  {
    fprintf(stderr,"erreur de configuration : %s (%d)\n",
    strerror(errno),errno);
    return -1;
  }
  return device;
}

int ecrireParPortp(int device,unsigned char *val)
{
  if (ioctl (device, PPWDATA, val) < 0)
  {
    fprintf(stderr,"erreur d'écriture : %s (%d)\n",
    strerror(errno),errno);
    return -1;
  }
  return 0;
}

int ecrireParPort(int device,unsigned char val)
{
  if (ioctl (device, PPWDATA, &val) < 0)
  {
    fprintf(stderr,"erreur d'écriture : %s (%d)\n",
    strerror(errno),errno);
    return -1;
  }
  return 0;
}

int closeParPort(int device)
{
  unsigned char val=3;
  if (ioctl (device, PPWCONTROL, &val) < 0)
  {
    fprintf(stderr,"erreur de configuration : %s (%d)\n",
    strerror(errno),errno);
    return -1;
  }
  if (ioctl(device, PPRELEASE) < 0)
  {
    fprintf(stderr,"Erreur : %s (%d)\n",
    strerror(errno),errno);
    return -1;
  }
  if(close(device) < 0)
  {
    fprintf(stderr,"Erreur de fermeture : %s (%d)\n",
    strerror(errno),errno);
    return -1;
  }
  return 0;
}

retour vers la page des Tps II