FORUM Syndrome-OC - Jacky-PC


  Programmation


  Autre


  [C] Port // : qq soucis avec les registres...

 




1 utilisateur anonyme et 7 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Port // : qq soucis avec les registres...

n°5936
Blue Sn4ke
Zelda Fan
Posté le 23-07-2005 à 23:15:34  profilanswer
 

Voilou, mon but est de lire sur le registre d'état et d'écrire sur les registres de données et de commande de port parallèle.
 
Voilà un bout du code de Lous :
 

Code :
  1. // Inclusion des fichiers de fonction
  2. #include <stdio.h>
  3. #include <unistd.h>
  4. #include <asm/io.h>
  5. // Définition des variables
  6. #define ADRESSE_LPT 0x378          // Registre Données ?
  7. #define STATUS ADRESSE_LPT+1       // Registre Etat ?
  8. #define CONTROL ADRESSE_LPT+2      // Registre Commandes ?
  9. int main (void)
  10. {
  11. if(ioperm(ADRESSE_LPT,3,1))
  12.  {
  13.  perror("ioperm" );
  14.  exit(1);
  15.  }
  16. }


 
Donc si je veux écrire sur le registre de données, je fais
 
outb(ADRESSE_LPT, 255); // Met tout à 1 ?
 
Pour le registre de commande :
 
outb(CONTROL, 255); // Met tt à 1 ?
 
Pour le registre d'état,
 
inb(STATUS); // Renvoie 255 si tout est à 1 ?
 
Parce qu'en fait apparemment pour les registres d'état et de controle, certains bits ne sont pas utilisés, don j'aimerais savoir comment ça se passe, et si mon code est bon ;)
 
merci d'avance :)

mood
Google
Posté le 23-07-2005 à 23:15:34  profilanswer
 

n°5938
Deadog
Dain Bramaged
Posté le 24-07-2005 à 02:09:47  profilanswer
 

outb écrit la valeur binaire de l'octet que tu lui passe sur les 8 bit du port visé
donc passé à 255 met tout à 1, oui
 
mais fait attention au faite que, dans le registre de commande, certains bit se mette à l'état haut lorsqu'on leur met une valeur de 0, et inversement, ils sont à l'état bas pour une valeur de 1 ...
 

n°5940
Blue Sn4ke
Zelda Fan
Posté le 24-07-2005 à 10:19:41  profilanswer
 

Pour le 2, ouep j'avais vu ;)
 
Mais en fait, comme dans certains registres il n'y a pas les 8 bits, ca ignore simplement les bits inexistants ? Ou il faut faire qqch de spécial ?


Message édité par Blue Sn4ke le 24-07-2005 à 10:19:52
n°5942
Deadog
Dain Bramaged
Posté le 24-07-2005 à 16:08:07  profilanswer
 

normallement ça ignore
moi je passe un mask binaire dessus, histoire de mettre les bits inutiles à 0 ;)

n°5945
Blue Sn4ke
Zelda Fan
Posté le 24-07-2005 à 22:50:13  profilanswer
 

oki, je vais me lacer dan un ptit prog alors, quand j'aurais des soucis je reviendrais ! lol merci :)

n°6033
Dr Lous
I see old password
Posté le 18-08-2005 à 09:28:02  profilanswer
 

faire attention au bit ki permet de passer le port // en mode input :d

n°6042
Blue Sn4ke
Zelda Fan
Posté le 20-08-2005 à 10:39:49  profilanswer
 

... :D
 
càd ?

n°6043
Dr Lous
I see old password
Posté le 20-08-2005 à 12:04:18  profilanswer
 

dans le registre de control tu a un bit qui permet de passer les D0-D7 en input ou output :)

n°6044
Blue Sn4ke
Zelda Fan
Posté le 20-08-2005 à 15:13:01  profilanswer
 

Ahh, oki :)
 
Mais D0-D7, je m'en sers pourun LCD, donc en output ;)

n°6045
Dr Lous
I see old password
Posté le 20-08-2005 à 15:43:17  profilanswer
 

oui mais fait gaffe ne fait pas un 255 sur le control ou un 0 car tu va le faire changer de out en in ou inversement !!! c'est pour ca :) (moi je m'en sert pour ne plus avoir un seul delay dans le code pour LCD :D ducoup j'ai un affichage ulllllltra rapide (et sans bug ;))

n°6046
Blue Sn4ke
Zelda Fan
Posté le 20-08-2005 à 17:12:16  profilanswer
 

Oki :)

n°6047
Deadog
Dain Bramaged
Posté le 20-08-2005 à 23:25:06  profilanswer
 

Dr Lous a écrit :

oui mais fait gaffe ne fait pas un 255 sur le control ou un 0 car tu va le faire changer de out en in ou inversement !!! c'est pour ca :) (moi je m'en sert pour ne plus avoir un seul delay dans le code pour LCD :D ducoup j'ai un affichage ulllllltra rapide (et sans bug ;))


 
 
huuum
 
c'est pas avec le port // qu'il faut faire ça, c'est avec le 0x80 ...
une écriture sur le 0x80 = 1µs (quand l'écriture est direct, par assembleur ou macro qui fait assembleur)

n°6048
Dr Lous
I see old password
Posté le 20-08-2005 à 23:28:33  profilanswer
 

tss tss ddg, le busy flag sur les lcd c'ets pas pour les clebard :D
 
edit: precision => je lit le busy flag avant de la prochaine instruct avec un while a vide (enfin presque) et comme ca j'ai toujours un temps tres tres tres rapide, tout en etant independant de la puissance machine :)


Message édité par Dr Lous le 20-08-2005 à 23:29:29
n°6049
Deadog
Dain Bramaged
Posté le 20-08-2005 à 23:39:38  profilanswer
 

Dr Lous a écrit :

tss tss ddg, le busy flag sur les lcd c'ets pas pour les clebard :D
 
edit: precision => je lit le busy flag avant de la prochaine instruct avec un while a vide (enfin presque) et comme ca j'ai toujours un temps tres tres tres rapide, tout en etant independant de la puissance machine :)


 
ouhla mon coco, c'est pas à moi que tu vas apprendre ce qu'est un busyflag :D
 
essaye donc de faire avec un ... hum ... un HD44780 wiring habituel par expl [:matleflou]

n°6050
Dr Lous
I see old password
Posté le 20-08-2005 à 23:41:38  profilanswer
 

ben oui le busy sur un HD44780 :)
 
sinon je vient de matter tes sources de THD.... [:matleflou]

n°6051
Deadog
Dain Bramaged
Posté le 20-08-2005 à 23:46:39  profilanswer
 

je t'ai dit avec un wiring traditionnel ...
un wiring traditionnel ne cable habituellement pas le R/W, alors qu'il est nécessaire de le manipuler pour pouvoir faire un read busy flag :sarcastic:
 
regarde plutôt dans le T6963, la le busyflags il y est intégré, parce que avec un T6963 la plus part des wiring le permettent


Message édité par Deadog le 20-08-2005 à 23:48:04
n°6052
Dr Lous
I see old password
Posté le 20-08-2005 à 23:50:53  profilanswer
 

en meme temps faut etre con de pas cabler le R/W car c'est une pinoce essentiel :D puis c'est pas pour rien qu'elle existe et a un fil pres merde hein :D (et de toute facon mes lib lcd c'est pour mes appli perso)

n°6053
Deadog
Dain Bramaged
Posté le 20-08-2005 à 23:53:01  profilanswer
 

oui, moi aussi je trouve ça con, mais regarde la plus part des shémas pour HD44780 sur port // ...

mood
Google
Posté le 20-08-2005 à 23:53:01  profilanswer
 


Aller à :
Ajouter une réponse

  FORUM Syndrome-OC - Jacky-PC


  Programmation


  Autre


  [C] Port // : qq soucis avec les registres...

 

Hit Parade