Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
Au sujet de RTS/CTS
-
Jérémy
Administrateur du site- Messages : 2727
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonsoir à tous,
Je ne sais pas trop comment utiliser ou interpréter la sortie RTS du module.
Il s'agit d'une sortie, c'est donc le module radio qui signale au PIC qu'il est disponible ou non pour recevoir des données ?
Donc dans la logique, si il est activé , donc mon PIC reçoit un état bas sur sa broche, alors le module ne peut rien recevoir donc il ne faut rien lui envoyer ?
Donc mon PIC doit envoyer des infos au module radio seulement si la broche du PIC est à l'état haut ?
Ce qui donnerais dans mon programme :
Je ne sais pas trop comment utiliser ou interpréter la sortie RTS du module.
Il s'agit d'une sortie, c'est donc le module radio qui signale au PIC qu'il est disponible ou non pour recevoir des données ?
Donc dans la logique, si il est activé , donc mon PIC reçoit un état bas sur sa broche, alors le module ne peut rien recevoir donc il ne faut rien lui envoyer ?
Donc mon PIC doit envoyer des infos au module radio seulement si la broche du PIC est à l'état haut ?
Ce qui donnerais dans mon programme :
Code : Tout sélectionner
#define RTS PORTC.B5 // Entrée
...
...
...
// Cette fonction envoie au module radio les valeurs des potars pour les moteurs
void Envoi_Potar_TOR(){
if (RTS == 1){ // Je vérifie que le module est prêt a recevoir
//Envoi d'un message
UART1_Remappable_Write(0x02); // Start
UART1_Remappable_Write(0x00); // Commande
UART1_Remappable_Write(0x04); // Nbe de DATA
UART1_Remappable_Write(Joystick_G_DG); // DATA
UART1_Remappable_Write(Joystick_G_HB); // DATA
UART1_Remappable_Write(Joystick_D_DG); // DATA
UART1_Remappable_Write(Joystick_D_HB); // DATA
UART1_Remappable_Write(0x02^0x00^0x04^Joystick_G_DG^Joystick_G_HB^Joystick_D_DG^Joystick_D_HB); //CS
}
}
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Au sujet de RTS/CTS
Au sujet de RTS/CTS
-
Jérémy
Administrateur du site- Messages : 2727
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonsoir Paul,
Non tu as juste !
La j'ai juste
La j'ai faux , car le module est donc ready ! et non Busy .
C'est donc quand la broche de mon PIC est à l'état 0 que je peux envoyer des donnés au module radio.
Penses-tu que c'est vraiment utile de gérer cela ?
Non tu as juste !
Donc dans la logique, si il est activé , donc mon PIC reçoit un état bas sur sa broche,..
La j'ai juste
... alors le module ne peut rien recevoir donc il ne faut rien lui envoyer ?
La j'ai faux , car le module est donc ready ! et non Busy .
C'est donc quand la broche de mon PIC est à l'état 0 que je peux envoyer des donnés au module radio.
Code : Tout sélectionner
// Cette fonction envoie au module radio les valeurs des potars pour les moteurs
void Envoi_Potar_TOR(){
if ( RTS == 0){ // Si RTS est a l'état 0 alors le module est libre, je peux lui envoyer
//Envoi d'un message
UART1_Remappable_Write(0x02); // Start
UART1_Remappable_Write(0x00); // Commande
UART1_Remappable_Write(0x04); // Nbe de DATA
UART1_Remappable_Write(Joystick_G_DG); // DATA
UART1_Remappable_Write(Joystick_G_HB); // DATA
UART1_Remappable_Write(Joystick_D_DG); // DATA
UART1_Remappable_Write(Joystick_D_HB); // DATA
UART1_Remappable_Write(0x02^0x00^0x04^Joystick_G_DG^Joystick_G_HB^Joystick_D_DG^Joystick_D_HB); //CS
}
}
Penses-tu que c'est vraiment utile de gérer cela ?
Au sujet de RTS/CTS
-
Jérémy
Administrateur du site- Messages : 2727
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Du coup je me dis que je peux aussi faire l'inverse. ?
C'est à dire quand mon PIC reçoit une info par l'interruption UART, je peux signaler au module radio que le PIC est occupé en mettant la Broche CTS du pic à 1 ! Et à la fin de la réception je le repasse à 1.
C'est à dire quand mon PIC reçoit une info par l'interruption UART, je peux signaler au module radio que le PIC est occupé en mettant la Broche CTS du pic à 1 ! Et à la fin de la réception je le repasse à 1.
Au sujet de RTS/CTS
- paulfjujo
Expert- Messages : 2598
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour Jeremy,
J'ai du aussi m'y mettre au RTS/CTS , pour une application en ASM avec un 16F874
programmateur pour AT89C2051 !
La difficulté est qu'un cordon TTL/USB 5V ne gere pas ces signaux (4 fils seulement)
Heureusement j'avais gardé un cordon USB / DB9 RS232 Trendnet TS59 .. qui a ces signaux sur la DB9 en niveaux RS232
donc rajout d'un MAX232 ..( recupéré sur un montage 16F628 DDS )
j'y ai rajouté les 2 info manquantes .. et HOP.
Le role de CTS et RTS me parait un peut surfait lorsqu'on est à 9600 bauds et un cycle d'instruction de 1µS ( dans mon cas FOSC=4MHz)
de plus en langage asm ..
Je ne suis d'ailleurs pas arrivé à mettre ce role en evidence .
Le Terminal REALTERM peut gerer le flux de controle RTS/CTS.
nota: j'ai ussi un cordon USB/LTTL 3,3V avec 6 fils .. CTS/RTS ??? pas encore testé.
pour info , je vous donne ma connectique ,qui doit etre valable pour moulte PIC <-> PC COM.
J'ai du aussi m'y mettre au RTS/CTS , pour une application en ASM avec un 16F874
programmateur pour AT89C2051 !
La difficulté est qu'un cordon TTL/USB 5V ne gere pas ces signaux (4 fils seulement)
Heureusement j'avais gardé un cordon USB / DB9 RS232 Trendnet TS59 .. qui a ces signaux sur la DB9 en niveaux RS232
donc rajout d'un MAX232 ..( recupéré sur un montage 16F628 DDS )
j'y ai rajouté les 2 info manquantes .. et HOP.
Le role de CTS et RTS me parait un peut surfait lorsqu'on est à 9600 bauds et un cycle d'instruction de 1µS ( dans mon cas FOSC=4MHz)
de plus en langage asm ..
Je ne suis d'ailleurs pas arrivé à mettre ce role en evidence .
Le Terminal REALTERM peut gerer le flux de controle RTS/CTS.
nota: j'ai ussi un cordon USB/LTTL 3,3V avec 6 fils .. CTS/RTS ??? pas encore testé.
pour info , je vous donne ma connectique ,qui doit etre valable pour moulte PIC <-> PC COM.
Retourner vers « Généralités sur les PICs »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 107 invités