[C] problème avec la fonction write sur un port série

problème avec la fonction write sur un port série [C] - C - Programmation

Marsh Posté le 14-04-2004 à 21:12:19    

salut tlm !
 
je souhaite comuniquer entre un programme en C et un microcontroleur pic 16f876a
 
j'utilise pour cela cette methode http://echo-linux.alienor.fr/artic [...] eries.html
a savoir l'utilisation des fonctions open, write et read
 
le problème est donc :
 
si je lis une donnée sur le port série : ça marche bien
si j'écrit une donnée sur le port série : ça marche bien
 
si j'écrit une donnée sur le port puis que je dois en lire une tout de suite après mon programme reste bloqué dans la fonction read
 
en fait POSIX réclame  qu'une  lecture  avec  read() soit effectuée après le
retour d'une écriture avec write().
 
a mon avis a cause du read() que je dois faire après mon write() je loupe la donnée sur le port série
 
donc je voudrais savoir si quelqu'un sait comment faire pour ne plus avoir a appeler la fonction read() après chaque fonction write()
 
 :hello:


Message édité par raptor13 le 14-04-2004 à 21:13:40
Reply

Marsh Posté le 14-04-2004 à 21:12:19   

Reply

Marsh Posté le 15-04-2004 à 17:18:22    

personne ne connait ça ?

Reply

Marsh Posté le 15-04-2004 à 19:44:12    

up :(

Reply

Marsh Posté le 16-04-2004 à 18:41:09    

:(

Reply

Marsh Posté le 20-04-2004 à 10:07:36    

tu travailles en bloquand? Non-bloquant? Tu ecris / lis combien de caractère? J'ai pas bien compris le read obligatoire après le write, mais tu saurais ptete faire un read de 0 caractère après ton write?


---------------
blog dessins + srtCleaner | Ricoh R6 | K20d | MK-wii 5112-3549-9484 | en phase de déblablatisation depuis le 26 avril 2002 | Belgian Connection
Reply

Marsh Posté le 08-05-2004 à 10:48:33    

je travaille en mode bloquant et le nombre d'octets que je lis varie entre 2 et 3
 
pour le read obligatoire c'est là : [urlhttp://www.linux-france.org/article/man-fr/man2/write-2.html][/url]
 
 

Citation :

POSIX
       réclame  qu'une  lecture  avec  read()  effectuée après le
       retour d'une écriture avec write(), renvoie les  nouvelles
       données


 
je me suis remis sur le problème et ça avance pas :'(

Reply

Marsh Posté le 08-05-2004 à 16:42:54    

:bounce:

Reply

Marsh Posté le 08-05-2004 à 22:23:58    

:bounce:

Reply

Marsh Posté le 09-05-2004 à 12:53:39    

'tain je capte pas dans tous les sources que je vois sur le net les mec ne relisent pas après un write mais chez moi ça marche pas !!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed