Rs232,qui envoie32bits?comment ça marche?

Résolu
Signaler
Messages postés
5
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
18 juin 2007
-
Messages postés
2
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
9 janvier 2008
-
salut tt le monde;



j'ai un petit probléme!je doit configurer mon port série(a l'aide de la RS232)afin d'envoyer sous DELPHI un mot binaire de 32bits(j'ai windows XP) à 12.5 Khz ;vers un appareil que j'ai réalisé, le hic c'est que je ne m'y connais pas trop en informatique,encore moins en programmation!



en plus on me dis que la rs232 ne supporte que 8bits ,alors ché pas trop quoi faire?!et qu'il faut que j'utilise un MAX232(comment le brancher?)

ps:je ne sais pas si j'ai posté le message dans le bon théme!si ce n'est pas le cas dites moi svp ou le poster.



SVP aidez moi a y voire+claire,merci

11 réponses

Messages postés
251
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
11 novembre 2016

Un liaison série RS232 ne permet d'envoyer que des valeurs de 8 Bits à chaque fois avec en plus des données de contrôles ( bit de start et de stop bit de parité ...)
Donc si vous voulez envoyer 32 bits il faut l'envoyer en 4 morceaux

Pour le cablage du MAX232
Hum voir http://www.datasheetcatalog.com/datasheets_pdf/M/A/X/2/MAX232.shtml
Et les cours d'électronique
Messages postés
93
Date d'inscription
mardi 11 avril 2006
Statut
Membre
Dernière intervention
4 mars 2009

Voici un autre lien : http://www.cse.sc.edu/~jimdavis/Courses/CSCE-612(Spring03)/CSCE612-Project-2-uart8251-030407.pdf

L'envoi de 32 bits se fera obligatoirement en 4 mots de 8 bits. L'ordre dans lequel ils seront envoyés est un autre sujet (pour les anciens : format Intel et format Motorola !).

Attention, le composant MAX232 se limite uniquement à adapter les tensions des signaux (-12/+12V côté PC et 0/5V de l'autre). Il ne modifie pas la nature du signal !!!

Sous Windows XP, il faudra obligatoirement utiliser les API qui vont bien (tu trouveras plein d'exemples sur ce site).

Tiens nous informés de ton avancement.

sylvunix
Messages postés
5
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
18 juin 2007

merci a vous 2 pr ces réponses,au fait je vais un peu plus vous détailler mon sujet:

je dois faire une interface graphique(du genre logiciel)on on verra "inserer votre date ou heure"je les inserrerai normalement en décimal exp(23:35)ces parametres seront convertis en héxadécimal ce qui fera 16bits en plus de ça je rajouterai d'autres données concernant l'appareil(c'est un banc d'éssai pour avion)qui fera au total:32bits.

Ce que j'aimerai savoir c'est commet envoyer ce mot alors que l'envoi se fait par morceau de 8bits(comment faire pour les bits de parité et de stop,ils seront inclus ds le mot?)et puis ne faut-il pas ajouter une memoire tampon afin de sauvegarder le tt jusqu'a l'arrivé du 32éme bit?(je crois que ce sera une autr paire de manches en plus je ne sais pas comment ça marche!)

merci d'avance!
Messages postés
251
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
11 novembre 2016

coté banc je ne sais pas ce que vous avez

mais logiquement on à pas à ce soucier du nombre de bits de control il suffi de
définir coté banc sur le microcontrôleur ou autre processeur un standard qui va
être par exemple (un bit de start, 8 bits de données, 1 bit de stop et pas de
parité ainsi que la vitesse (9600 baud)) puis de paramétrer la même chose coté
PC


apres pour envoyer un valeur 32 bits là il faut définir un protocole
de transfère par exemple  pour la valeur
$F012AB98


on envoie en premier $98 puis $AB puis $12 et enfin $F0 le
tout c’est de programmer coté banc le fait que le premier octet reçue c’est le poids
faible et ainsi de suite
Messages postés
5
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
18 juin 2007

merci fbalien;
mon appareil ne contiendra pas de pic ou de microprocesseur,c'est plus un module de conversion càd convertir un mot de32bits binaire,en un autre type de mot(j'utiliserai des ampliop,transistors;..ets)don au niveau de l'appareil y a rien a programmer(sauf peut etre ajouter  qqchose afin de stocker les octets)
on m'a donné un petit programme et qqes sites mais ché pas si c'est ce qui me faut ou pas..est-ce que je pourrai te donner ces liens pour m'informer?

MERCI A+
Messages postés
251
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
11 novembre 2016

çà peut toujours être intéressant
Messages postés
5
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
18 juin 2007

voilà les sites:

http://delphipage.free.fr/portserie.html

http://www.aurel32.net/elec/port_serie.php

http://mc-computing.com/Languages/Delphi/Delphi_SerialIO.htm: celui là c en anglais il parrait interressant mais j'ai pas trés bien compris ce que fait le programme

on m'a donné aussi quelques programmes mais je suppose que je ne peut pas envoyer des pieces jointes ici!

merci en tt cas
Messages postés
93
Date d'inscription
mardi 11 avril 2006
Statut
Membre
Dernière intervention
4 mars 2009

Salut fikrete,

Quand tu dis que ton appareil ne contiendra pas de pic ou de microprocesseur, je reste un peu perplexe ...

En effet, tu vas recevoir sur une même entrée une série d'impulsions correspondant au bit de start, aux données, éventuellement à la parité et enfin au bit de stop le tout cadencé à une certaine fréquence. Il te faudra obligatoirement un mécanisme pour te synchroniser sur ces données et les présenter sur 8 bits que tu pourras ensuite exploiter.

Si tu veux simplifier ton montage, pourquoi ne pas utiliser le port parallèle ? Tu t'affranchirais du coup de toute cette problématique.

sylvunix
Messages postés
5
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
18 juin 2007

salut sylvunix;

au fait le pilotage par ordinateur est une idée qui est venue plus tard car j'avais déja réalisé l'appareil auparavent(et pour réliser l'info binaire,j'ai utilisé une bascule D commandée par une horloge externe d'un autre appareil...il suffisait seulement d'arriver a 32 bits pour arreter le systeme manuellement)

maintenant qu'il ya une partie software,je galére bcp et en + j'ai tt fait pour éviter de programmer un pic ou une memoire(je suis nulle).
 
pour finir,on m'a obligée d'utiliser le port série(c'est l'ebcadreur qui décide)
y a pas une autre solution?
Messages postés
93
Date d'inscription
mardi 11 avril 2006
Statut
Membre
Dernière intervention
4 mars 2009

Tout d'abord je viens de me rendre compte que j'ai placé un lien sur le 8251 alors que le composant utilisé dans le PC est le 8250. Voici donc un lien plus adapté : http://en.wikibooks.org/wiki/Serial_Programming:8250_UART_Programming .

Pour information, le 8251 permet de faire des liaisons synchrones.

Mais pour revenons à ton sujet ...

La liaison série ne te permettra jamais d'aligner 32 bits à la suite pour les raisons suivantes :
- il y aura toujours un bit de start par mot de 8 bits
- il y aura toujours au minimum un bit de stop par mot de 8 bits
- il y aura toujours un certain temps entre l'émission de deux mots

Si tu ne veux pas mettre ta maquette à la poubelle, il y a peux être une solution.

La liaison série contient des lignes de contrôle (DSR, DTR, ...). En jouant sur la programmation du 8250, il est possible de générer le signal que tu souhaites.

sylvunix

P.S. : Comment détectes-tu le début de ton information de 32 bits ?
Messages postés
2
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
9 janvier 2008

salut ,je cherche comment  faire pour lire et ècrire un mot de 8 bits binaire dans un port sèrie com x sous delphi7,please j'ai besoins quelqu'un  qui peut m'aider