comment envoyer un mot de 32bit avec un pic sur un port série rs232(qui lui peut faire que du 8bit
-----
21/06/2007, 11h54
#2
behemerre
Date d'inscription
septembre 2006
Localisation
FSG.com !
Âge
33
Messages
681
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
21/06/2007, 15h35
#3
paulfjujo
Date d'inscription
juillet 2004
Localisation
St Maurice de Gourdans 01800
Âge
74
Messages
2 847
Re : envoie par port série
Envoyé par j---b
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 ?
25/06/2007, 10h21
#4
invite7670cc44
Date d'inscription
janvier 1970
Messages
40
Re : envoie par port série
Envoyé par paulfjujo
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!!!!!
Aujourd'hui
A voir en vidéo sur Futura
25/06/2007, 10h24
#5
invite7670cc44
Date d'inscription
janvier 1970
Messages
40
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 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;
}
26/06/2007, 05h43
#6
inviteaf3a73b7
Date d'inscription
janvier 1970
Messages
339
Re : envoie par port série
Bonjour,
Envoyé par j---b
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 .....
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.