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
Quelles sont les broches pour l'UART ?
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonjour à tous,
je suis en train de faire le schéma de la radiocommande pour mon robot !
Pour la partie radio j'ai choisis le PIC mis en lien au dessus : un PIC18F27K40
Ainsi je dispose de deux UARTs et du nombre de broches suffisantes pour tout brancher !!
En regardant la DS, je cherche a savoir quelles sont les broches utilisées pour la réception et l'émission UART ! mais ce n'est pas clairement indiqué.
les broches TX1 et Tx2 sont misent dans une ligne appelée OUT ! en lisant la description, il me semble comprendre que je peux affecter les TX1 et TX2 sur n'importe quelles broches numériques du PIC !
est-ce exact ?
Merci à vous
je suis en train de faire le schéma de la radiocommande pour mon robot !
Pour la partie radio j'ai choisis le PIC mis en lien au dessus : un PIC18F27K40
Ainsi je dispose de deux UARTs et du nombre de broches suffisantes pour tout brancher !!
En regardant la DS, je cherche a savoir quelles sont les broches utilisées pour la réception et l'émission UART ! mais ce n'est pas clairement indiqué.
les broches TX1 et Tx2 sont misent dans une ligne appelée OUT ! en lisant la description, il me semble comprendre que je peux affecter les TX1 et TX2 sur n'importe quelles broches numériques du PIC !
est-ce exact ?
Merci à vous
Quelles sont les broches pour l'UART ?
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonjour,
Petite modification !! En fait le PIC choisi est trop petit en nombre de broches . Je pensais qu'avec 28 PIN je serais large et bien pas du tout . Je suis donc obligé de passer à plus gros.
Le 40 PIN en format DIP est trop gros ! J'ai donc choisis le 44 PIN en TQFP Si on m'avait dit un jour que je travaillerais avec une telle bête (PIC18F47K40) !
Néanmoins ma question est toujours d'actualité car c'est le même procédé . J'ia l'impression que je peux affecter mes broches de TX UART sur n'importe quel pins ?
PS: la DS est à jour
Petite modification !! En fait le PIC choisi est trop petit en nombre de broches . Je pensais qu'avec 28 PIN je serais large et bien pas du tout . Je suis donc obligé de passer à plus gros.
Le 40 PIN en format DIP est trop gros ! J'ai donc choisis le 44 PIN en TQFP Si on m'avait dit un jour que je travaillerais avec une telle bête (PIC18F47K40) !
Néanmoins ma question est toujours d'actualité car c'est le même procédé . J'ia l'impression que je peux affecter mes broches de TX UART sur n'importe quel pins ?
PS: la DS est à jour
Quelles sont les broches pour l'UART ?
Quelles sont les broches pour l'UART ?
Bonjour à tous,
Microchip a ajouté aux pics la fonction PPS et ses registres, qui font la jonction entre les i/o des périphériques, et certaines pins PPS du chip. Cela simplifie le routage, mais ça complique la mise en oeuvre. Il y a des valeurs des registres PPS par défaut, je suppose pour les rendre compatibles avec les anciens pics qui n'ont pas le PPS. Il faut aussi programmer les registres TRIS en cohérence, bien que parfois pas indispensable. Pour configurer ça, on opère differement pour les inputs et outputs.
On peut avoir une pin reliée à plusieurs inputs de périphériques, donc pour chaque input de périphérique, on affecte une pic PPS du chip.
Exemple, pour rentrer rx/uart1 sur B3, voir datasheet pages 216/217
RX1PPSbits.RXPPS = 0x0B;
Par contre, on ne peut pas affecter une pin à plusieurs outputs de périphérique, sinon ça risque de fumer, donc on fait l'inverse, on affecte une seule output de périphérique à une pin PPS du chip.
Exemple, pour sortir tx/uart1 sur B4, voir datasheet page 218
RB4PPS = 0x09;
Le PPS est puissant, car on programme les affectations de pins au démarrage, mais on peut aussi les modifier à tout moment durant l'exécution. Il y a 2 niveaux de protection :
- un verrouillage de la config PPS, qu'il faut enlever à chaque modif de config PPS.
- un bit PPS1WAY dans la config hardware du pic, s'il est a 1 il n'autorise de programmer les PPS q'une seule fois au démarrage du pic.
Pour distribuer l'uart sur B3/B4 et empêcher toute modification des PPS durant l'exécution :
code au démarrage du pic :
J'espère n'avoir rien oublié
Microchip a ajouté aux pics la fonction PPS et ses registres, qui font la jonction entre les i/o des périphériques, et certaines pins PPS du chip. Cela simplifie le routage, mais ça complique la mise en oeuvre. Il y a des valeurs des registres PPS par défaut, je suppose pour les rendre compatibles avec les anciens pics qui n'ont pas le PPS. Il faut aussi programmer les registres TRIS en cohérence, bien que parfois pas indispensable. Pour configurer ça, on opère differement pour les inputs et outputs.
On peut avoir une pin reliée à plusieurs inputs de périphériques, donc pour chaque input de périphérique, on affecte une pic PPS du chip.
Exemple, pour rentrer rx/uart1 sur B3, voir datasheet pages 216/217
RX1PPSbits.RXPPS = 0x0B;
Par contre, on ne peut pas affecter une pin à plusieurs outputs de périphérique, sinon ça risque de fumer, donc on fait l'inverse, on affecte une seule output de périphérique à une pin PPS du chip.
Exemple, pour sortir tx/uart1 sur B4, voir datasheet page 218
RB4PPS = 0x09;
Le PPS est puissant, car on programme les affectations de pins au démarrage, mais on peut aussi les modifier à tout moment durant l'exécution. Il y a 2 niveaux de protection :
- un verrouillage de la config PPS, qu'il faut enlever à chaque modif de config PPS.
- un bit PPS1WAY dans la config hardware du pic, s'il est a 1 il n'autorise de programmer les PPS q'une seule fois au démarrage du pic.
Pour distribuer l'uart sur B3/B4 et empêcher toute modification des PPS durant l'exécution :
code au démarrage du pic :
Code : Tout sélectionner
config PPS1WAY = ON
TRISB = 0xef;
GIE = 0; // déverrouillage PPS
PPSLOCK = 0x55;
PPSLOCK = 0xAA;
PPSLOCKbits.PPSLOCKED = 0;
RX1PPSbits.RXPPS = 0x0b; // rx <- B3
RB4PPS = 0x09; // B4 <- tx
PPSLOCK = 0x55; // verrouillage PPS
PPSLOCK = 0xAA;
PPSLOCKbits.PPSLOCKED = 1;
J'espère n'avoir rien oublié
Quelles sont les broches pour l'UART ?
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Merci à tous les deux pour vos réponses.
Aîe ça se complique pour moi cette histoire. Je n'ai pas le choix du PIC de toute façon, car je suis obligé d'avoir autant de Pins .
Je crois que c'est mon plus précis routage que j'ai eu a faire ! j’espère que je vais le réussir car c'est chaud quand même! Je suis parti du prioncipe que je pouvais affecté les broches a ma guise.
Le plus délicat je pense ce sera pour régler les TX des 2 UARTs , le reste c'est seulement des entrées numériques pour les BPs ou analogiques pour les potentiomètres des joysticks.
Je suis en train de finaliser mon typon !
Aîe ça se complique pour moi cette histoire. Je n'ai pas le choix du PIC de toute façon, car je suis obligé d'avoir autant de Pins .
Je crois que c'est mon plus précis routage que j'ai eu a faire ! j’espère que je vais le réussir car c'est chaud quand même! Je suis parti du prioncipe que je pouvais affecté les broches a ma guise.
Le plus délicat je pense ce sera pour régler les TX des 2 UARTs , le reste c'est seulement des entrées numériques pour les BPs ou analogiques pour les potentiomètres des joysticks.
Je suis en train de finaliser mon typon !
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Quelles sont les broches pour l'UART ?
Quelles sont les broches pour l'UART ?
C'est possible pour les 18F27K40 et 18F47K40, voir page 218 datasheet
RC6PPS = 0x09; // C6 <- tx1
RB5PPS = 0x0b; // B5 <- tx2
et renseigner les registres ANSEL et TRIS en conséquence
RC6PPS = 0x09; // C6 <- tx1
RB5PPS = 0x0b; // B5 <- tx2
et renseigner les registres ANSEL et TRIS en conséquence
Modifié en dernier par satinas le mar. 12 déc. 2017 16:36, modifié 1 fois.
Quelles sont les broches pour l'UART ?
Quelles sont les broches pour l'UART ?
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonsoir,
il manquait la suite de mon precedent post
la vue ci dessous de MPLAB XPRESS MC C
En quelques click, choix des pins et la fonction, toute faite
void PIN_MANAGER_IOC(void)
Je me demande si je vais rester sur MikroC !
teste fait avecun choix ultra classique sur les autres PIC18 2 uarts
RC6 et RC7
RB6 et RB7
il manquait la suite de mon precedent post
la vue ci dessous de MPLAB XPRESS MC C
En quelques click, choix des pins et la fonction, toute faite
void PIN_MANAGER_IOC(void)
Je me demande si je vais rester sur MikroC !
teste fait avecun choix ultra classique sur les autres PIC18 2 uarts
RC6 et RC7
RB6 et RB7
Code : Tout sélectionner
/*
Company: Microchip Technology Inc.
File Name: pin_manager.c
Summary:
This is the Pin Manager file generated using MPLAB(c) Code Configurator
Description:
This header file provides implementations for pin APIs for all pins selected in the GUI.
Generation Information :
Product Revision : MPLAB(c) Code Configurator - 4.15
Device : PIC18F47K40
Driver Version : 1.02
The generated drivers are tested against the following:
Compiler : XC8 1.35
MPLAB : MPLAB X 3.40
Copyright (c) 2013 - 2015 released Microchip Technology Inc. All rights reserved.
*/
void PIN_MANAGER_Initialize(void)
{
/**
LATx registers
*/
LATE = 0x00;
LATD = 0x00;
LATA = 0x00;
LATB = 0x00;
LATC = 0x00;
/**
TRISx registers
*/
TRISE = 0x07;
TRISA = 0xFF;
TRISB = 0xBF;
TRISC = 0xBF;
TRISD = 0xFF;
/**
ANSELx registers
*/
ANSELC = 0x7F;
ANSELB = 0x7F;
ANSELD = 0xFF;
ANSELE = 0x07;
ANSELA = 0xFF;
/**
WPUx registers
*/
WPUD = 0x00;
WPUE = 0x00;
WPUB = 0x00;
WPUA = 0x00;
WPUC = 0x00;
/**
ODx registers
*/
ODCONE = 0x00;
ODCONA = 0x00;
ODCONB = 0x00;
ODCONC = 0x00;
ODCOND = 0x00;
bool state = GIE;
GIE = 0;
PPSLOCK = 0x55;
PPSLOCK = 0xAA;
PPSLOCKbits.PPSLOCKED = 0x00; // unlock PPS
RX1PPSbits.RXPPS = 0x17; //RC7->EUSART1:RX1;
RC6PPS = 0x09; //RC6->EUSART1:TX1;
RB6PPS = 0x0B; //RB6->EUSART2:TX2;
RX2PPSbits.RXPPS = 0x0F; //RB7->EUSART2:RX2;
PPSLOCK = 0x55;
PPSLOCK = 0xAA;
PPSLOCKbits.PPSLOCKED = 0x01; // lock PPS
GIE = state;
}
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Quelles sont les broches pour l'UART ?
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Re,
Effectivement Paul cela à l'air vraiment intéressant !
Peux tu me confirmer tu rentre ton PIC, et tu sélectionnes ce que tu veux que soit chaque PINS et lui te sort le code de configuration ?
Si c'est ca, je vais le télécharger de suite... ca a l'air super pratique et je pense que cela doit éviter des nombreuses erreurs quand on 44 PINS à gérer. Ca fera un bon completement au logiciel, dela a passer à MPLABX j'ai encore du chemin a parcourir sur mikroC lol
Effectivement Paul cela à l'air vraiment intéressant !
Peux tu me confirmer tu rentre ton PIC, et tu sélectionnes ce que tu veux que soit chaque PINS et lui te sort le code de configuration ?
Si c'est ca, je vais le télécharger de suite... ca a l'air super pratique et je pense que cela doit éviter des nombreuses erreurs quand on 44 PINS à gérer. Ca fera un bon completement au logiciel, dela a passer à MPLABX j'ai encore du chemin a parcourir sur mikroC lol
Retourner vers « Généralités sur les PICs »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 42 invités