chuis sous ubuntu 8.04 je veux développer un pilote pour le port série pour communiquer avec la carte 68hc11 micro-contrôleur
comment accéder au port et envoyer mes commandes
chuis sous ubuntu 8.04 je veux développer un pilote pour le port série pour communiquer avec la carte 68hc11 micro-contrôleur
comment accéder au port et envoyer mes commandes
en admettant que tu pilotes un equipement qui sait analyser les caracteres #23#3#0F en sequence...
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo "#23#3#0F" > /dev/ttyS0
quand à ecrire un pilote c'est peut etre pas utile si ta carte de programmation sais "lire" les mots 16bits en entree ?
en utilisant le meme style de methode...
tous ce que je cherche c le nom du module du port série en tapant 'lsmod ' s'il n'existe pas dans ce cas il fallait que je développe mon propre pilote j"espere q tapiger l'idée M.nabogrotesque
me demande si il est en module tellement c standard il doit etre noyau includedje suppose....
voila un site qui explique l'archi d'un driver pour des periph sur port serie:
http://www.linux.it/~rubini/docs/serial/serial.html
par contre je ne comprend pas trop pourquoi tu cherche le nom du module...
si tu n'as encore jamais programmé de driver je te conceil fortement de lire au moins les 3 premiers chapitres de linux device drivers: http://lwn.net/Kernel/LDD3/
si ca te parrait trop compliqué, tu n'est pas obligé de passer par le kernel space, tu peut tres bien controler ton periph grace aux fonctions read/write du user space !
__________
"Any sufficiently advanced technology is indistinguishable from magic" Arthur C. Clarke
ce lien est intéressant
mais je veux établir une liaison par le port série grace aux fonctions read/write donc il me faut un programme et ensuite je veux le tester sur mon port d'abord par un court-circuit (Tx-Rx) et dans ce cas si j'arrive à envoyer un caractére je le reçoi sur la même station (ubuntu)
je ne comprend pas ta question, tu as apparement l'air de savoir ce que tu veux faire...
quelle est exactement ta question ?
__________
"Any sufficiently advanced technology is indistinguishable from magic" Arthur C. Clarke
ps: si tu compte aussi faire de la gestion de flux, tu aura aussi besoin de ioctl (pour tout ce qui est xon/xoff, DTR/DSR, RTS/CTS, vitesse de transmission etc...)
je te conceil avant de te lancer dans la programation de faire quelques test avant avec minicom par exemple
__________
"Any sufficiently advanced technology is indistinguishable from magic" Arthur C. Clarke
http://linux.die.net/man/4/tty_ioctl
ca peut t'aider !
__________
"Any sufficiently advanced technology is indistinguishable from magic" Arthur C. Clarke
comment faire pour tester ce programme ?
si ce programme marche, comment utiliser les read/write le port série ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 #include <stdio.h> /* Standard input/output definitions */ #include <string.h> /* String function definitions */ #include <unistd.h> /* UNIX standard function definitions */ #include <fcntl.h> /* File control definitions */ #include <errno.h> /* Error number definitions */ #include <termios.h> /* POSIX terminal control definitions */ /* * 'open_port()' - Open serial port 1. * * Returns the file descriptor on success or -1 on error. */ int open_port(void) { int fd; /* File descriptor for the port */ fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY); if (fd == -1) { /* * Could not open the port. */ perror("open_port: Unable to open /dev/ttyS0 - "); } else fcntl(fd, F_SETFL, 0); return (fd); }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager