Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

envoie par port série



  1. #1
    j---b

    envoie par port série


    ------

    comment envoyer un mot de 32bit avec un pic sur un port série rs232(qui lui peut faire que du 8bit

    -----

  2. Publicité
  3. #2
    behemerre

    Re : envoie par port série

    Salut,

    Je ne comprends pas trés bien ta question : envoyer un mot de 32 bits par port série via un PIC

    Premières questions : D'ou proviennent ces 32 bits ? tu pourrais les "découper" en 4x8bits
    Quel type de PIC utilises-tu ? Compatible RS232 ?

    En effet, tu veux utiliser le protocole RS232 ? Ce dernier n'utilse que 1 octet (8 bits) de données.

    Si tu veux maintenant utiliser librement ton port série, tu peux envoyer les 8 premiers bits, puis 8 autres et ainsi de suite ...

    J'avoue que la question est un peu vague !

    a+
    L'éxpérience de chacun est le trésor de tous

  4. #3
    paulfjujo

    Re : envoie par port série

    Citation Envoyé par j---b Voir le message
    comment envoyer un mot de 32bit avec un pic sur un port série rs232(qui lui peut faire que du 8bit
    bonjour,

    En fait ta question ne peut avoir de reponse que si on connait comment , sous quelle forme tu veux les recuperer à l'autre bout ?
    coté PC ?
    puisque c'est bien le PIC qui envoie une donnée sur 32 bits ?

    cette donnéee peut etre
    binaire pur 00000000 à FFFFFFFF donc 4 octets successivement envoyés..
    ou codée en ascci BCD sur 10 digits donc 10 caracteres
    ou est-ce du flottant ?

  5. #4
    j---b

    Re : envoie par port série

    Citation Envoyé par paulfjujo Voir le message
    bonjour,

    En fait ta question ne peut avoir de reponse que si on connait comment , sous quelle forme tu veux les recuperer à l'autre bout ?
    coté PC ?
    puisque c'est bien le PIC qui envoie une donnée sur 32 bits ?

    cette donnéee peut etre
    binaire pur 00000000 à FFFFFFFF donc 4 octets successivement envoyés..
    ou codée en ascci BCD sur 10 digits donc 10 caracteres
    ou est-ce du flottant ?
    j'ai une variable float m qui est le résultat d'une multiplication d'un long avec un float donc j'ai bien du flottant je n'arrive pas à configurer mon pic 18f1220 qui est compatible avec les rs232.je veux l'envoyer au pc et retrouver cette varible m exactement pareil sur mon pc.aidez moi!!!!!

  6. A voir en vidéo sur Futura
  7. #5
    j---b

    Re : envoie par port série

    voici le début du programme si cela peut vous aidez!!!!




    #include <p18f2220.h>
    #include <stdio.h>

    unsigned long i;
    unsigned int j;
    unsigned int k;
    float l;
    float m;


    /*programme principale*/

    void main(void)
    {
    /*initialisation*/

    OSCCON = OSCCON|0x76;
    i=0;
    j=0;
    k=0;
    l=0.000025;
    m=0;
    PORTB=0x00;

    if(PORTB & 0x04 == 0x04);
    {
    do
    {j=0;
    if(PORTB&0x02==0x00)
    {
    i++;
    j++;
    }
    else
    {
    j++;
    k++;
    if(k==400);
    {
    m=i*l;

    /*programme d'envoie par port série à faire ici!!!!!*/


    }
    }
    }
    while(j<400);
    }

    }




    /*arrêt d'urgence*/

    void INTO_inter ()
    {
    if(PORTB&0x01==0x00);

    OSCCON=OSCCON&0x7c;
    }

  8. #6
    Alex82

    Re : envoie par port série

    Bonjour,

    Citation Envoyé par j---b Voir le message
    voici le début du programme si cela peut vous aidez!!!!


    Code:
    #include <p18f2220.h>
    #include <stdio.h>
    
    unsigned long i;
    unsigned int j;
    unsigned int k;
    float l;
    float m;
    
    
    /*programme principale*/
    
    void main(void)
    {
    /*initialisation*/
    
    OSCCON = OSCCON|0x76;
    i=0;
    j=0;
    k=0;
    l=0.000025;
    m=0;
    PORTB=0x00;
    
       if(PORTB & 0x04 == 0x04);
       {
    	do
    	{j=0;
    	if(PORTB&0x02==0x00)
    		{
    		i++;
    		j++;
    		}
    	else
    		{
    		j++;
    		k++;
    		if(k==400);
    			{
    			m=i*l;
    
    			/*programme d'envoie par port série à faire ici!!!!!*/
    
    
    			}
    		  }
    	}
    	while(j<400);
         }
    
    }
    
    /*arrêt d'urgence*/
    
    void INTO_inter ()
    {
          if(PORTB&0x01==0x00);
    			
           OSCCON=OSCCON&0x7c;							
    }
    J'ai pas la réponse à ta question précise parce que même si j'ai suivi tout les post précédants sur le "système de gestion de peaux" ...je n'ai pas assez d'infos pour y répondre. Je me permettrai poutant quelques remarques :

    1°) i,j,k,l,m, etc .... c'est pas des nom de variables ça c'est du charabia ! y'a que toi qui sais ce que c'est : alors fait un effort pour leur donner un nom qui veux dire quelque chose ! Je l'ai même pas lu ton code je l'ai survolé c'est illisible sans commentaires et sans explications ! => bilan personne n'as de temps pour se casser la tête a lire ça !

    Je suis sèvère pour un détail tu pense mais quand j'ai passé mon BTS les i,j,k et autres n'étaient que tolérées pour gérer des boucles ! Je présentais ça à un prof, il ne lisais même pas ma copie !

    2°) je doute que ton debuggeur te dise que y'a erreur quand tu mes des ; après un test if(.....) mais y'en a dans ton programme je doute que se soit ce que tu veux faire .....

    Code:
    if(PORTB & 0x04 == 0x04);
       {.....
    ...
    if(k==400);
       {
    ...
    3°) mettre un commentaire /*Programme principale*/ pour un main() ça part d'une bonne intention mais évite les fautes d'orthographes ENORMES (une autre là : /*programme d'envoie par port série à faire ici!!!!!*/) et essaye plutôt de commenter les points importants ( main() on sait que c'est le programme principal ). Par contre i,j,k,l,m ...... (et oui j'insiste .....)

    J'ai suivi les posts où PA5CAL t'as largement aidé pour le capteur et le reste .... j'arrive pas à retrouver les infos dans ce code.

    Et par pitié STRUCTURE ton code et commente le !!!! Tu code pas en C/C++ (Objets) pour rien sinon va faire de l'assembleur.

    Cordialement.
    Ce qui se conçoit clairement s’ennonce clairement

  9. Publicité

Discussions similaires

  1. Alimentation contrôlable par port serie...
    Par halex78 dans le forum Électronique
    Réponses: 2
    Dernier message: 21/11/2007, 18h08
  2. Port serie/USB ===> port paralléle
    Par GwadaBoug dans le forum Matériel - Hardware
    Réponses: 3
    Dernier message: 07/11/2007, 19h52
  3. envoie de 4 bits de donées vers un port séie
    Par High_Tek dans le forum Électronique
    Réponses: 0
    Dernier message: 30/03/2007, 16h34
  4. Réponses: 3
    Dernier message: 25/04/2006, 09h46
  5. Le port série
    Par 14bds75_cb dans le forum Électronique
    Réponses: 1
    Dernier message: 10/09/2003, 08h28
Découvrez nos comparatifs produits sur l'informatique et les technologies.