Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/01/2009, à 23:07

slf

Emulation avec le port serie d'une liaison SPI

Bonjour,
Sous MSDOS et QBASIC je pilote directement les lignes de la RS232 afin d'émuler une liaison SPI :
     MOSI data out par dtr
     Clock par rts
     Load par txd
                 SUB writ
                        OUT &H3FB, 64 * (1 - txd)
                        OUT &H3FC, (1 - dtr) + 2 * (1 - rts)
                 END SUB

     Capture  (exemple)
                 OUT &H3FC, 3
                 WHILE (INP(&H3FE) AND 128) = 0 AND u < r
                          u = u + 1
                 WEND

&H3Fx sont les adresses des registres du controleur serie.

Tant que j'avais une version de vb tournant sous windows3.11 j'utilisais avec énormement de confort le serialcontrolbox qui me permettait en sus de gérer directement les évènnements générer par le controleur serie.

Existe t'il un équivalent des instructions INP et OUT avec un exemple pour profane (les adresses sous linux sont elles accessibles et les mêmes ?) : un paquet tout compris marchant sans grande connaissance et modifiable à souhait ?

Ou mieux existe t'il un équivalent du serialcontrolbox du vb windows3.11 de ma jeunesse (avec exemple) ?

NB : mes connaissances du C sont limitées

Dernière modification par slf (Le 14/01/2009, à 23:34)

Hors ligne

#2 Le 15/01/2009, à 03:29

idcpif

Re : Emulation avec le port serie d'une liaison SPI

Bonsoir,
je pense qu'il va falloir se mettre un peu au c.
http://www.eng.auburn.edu/~doug/serial.html
...et s'inspirer de upsprobe pour changer l etat d'une ligne et upstart pour lire.


http://www.pier-infor.eu

Hors ligne

#3 Le 15/01/2009, à 18:34

slf

Re : Emulation avec le port serie d'une liaison SPI

Merci, cela devrait faire l'affaire.

Existe t'il un tutoriel trés simple indiquant step à step ce que l'on fait pour obtenir un executable a partir d'un *.c sous ubuntu ?

Mon problème avec c est surtout là et je devrai arriver à décoller cet épineux problème résolu.

Autre question si ce n'est pas trop long : comment lancer une routine ou un executable a partir de l'interuption du port serie (j'utilise un délais entre une écriture sur le port et le changement d'état de DCD pour faire de la conversion analogique numérique)

Hors ligne

#4 Le 16/05/2009, à 14:19

slf

Re : Emulation avec le port serie d'une liaison SPI

inb(0x2fe)         : equivalent à la fonction INP(&H2FE)
outb(int,0x2fc)  : equivalent à l'instruction OUTP(&H2FC,int)
mais faire ioperm(0x2f8, 8, 1) pour autoriser le programme à ecrire sur les ports 0x2f8 à 0x2ff en début de programme

mes includes (pas tous indispensables)
#include <sys/io.h>
#include <stdio.h>
#include <sys/time.h>
#include <termio.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/fcntl.h>
#include <sys/signal.h>
#include <sys/resource.h>
#include <time.h>
#include <stdlib.h>

Hors ligne