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 ---
On parle des Pics, sans rapport avec le langage ou la programmation

Modérateur : Jérémy

Pins du 16F1784
walawa75
Membre
Membre
Messages : 18
Âge : 48
Enregistré en : août 2016
Localisation : Nooooormandie

#1 Message par walawa75 » sam. 20 août 2016 13:16

Bonjour à tous,

Comment savoir quelle fonction est remplie par un pin lorsque plusieurs rôles lui sont attribués.

Par exemple mon 16F1784 possède le pin RA6 et RA7 qui sont aussi des pins d'entrée pour un quartz. Y a t'il un TRISA à faire en entrée ? Ou y a t'il une manip pour mettre ces deux pins en mode osc ?

Peut on aussi se servir de ces deux ports en simultané pour allumer une led par exemple.

Même remarque pour RB6/ICSPCLK ou RB7/ICSPDAT. Doivent t'il être en Sortie ou en entrée ?

J'avoue que je suis un peu perdu mais en même temps je suis débutant dans la programmation de pic. :oops: :oops:

Même si ma question peut paraître bête, je vous remercie de vos futures réponses. Merci !
Modifié en dernier par walawa75 le sam. 20 août 2016 14:12, modifié 2 fois.

Pins du 16F1784
Jérémy
Administrateur du site
Administrateur du site
Messages : 2723
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#2 Message par Jérémy » sam. 20 août 2016 14:06

Bonjour et bienvenu,

J'ai l'habitude de dire qu'il n'y a pas de questions bêtes mais seulement des réponses stupides.

Comment savoir quelle fonction est remplie par un pin lorsque plusieurs rôles lui sont attribués.

Il n'est pas possible d'affecter plusieurs en même temps à une PIN . PAr contre tu peux changer en cours de programme et donc ce sera l'affection actuelle qui sera prise en compte.

Par exemple mon 16F1784 possède le pin RA6 et RA7 qui sont aussi des pins d'entrée pour un quartz. Y a t'il un TRISA à faire en entrée ?

Dans ce cas il faut regarder quelle est la fonction par défaut. SI t u ne touche à rien c'est cette fonction qui sera active.
Pour cela il faut fouiller sur la Data-Sheet ( qui tu pourais mettre en lien en suivant ceci : Procédure )

Peut on aussi se servir de ces deux ports en simultané pour allumer une led par exemple.

Oui bien sur. toutefois je dois te mettre en garde qu'une sortie de PIC n'est pas préconiser pour allumer une LED au delà de 5mA, même si la DS écrit 25mA en max current OUTPUT . Mais ca marchera tout le monde le fait ! :-D
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Pins du 16F1784
walawa75
Membre
Membre
Messages : 18
Âge : 48
Enregistré en : août 2016
Localisation : Nooooormandie

#3 Message par walawa75 » sam. 20 août 2016 14:24

Oups désolé pour le lien du datasheet je n'avais pas vu !!

En tout cas merci mille fois pour la réponse rapide et sympa.

Ca y est j'ai copié le lien !!! Par contre je n'ai pas encore trouvé quelle fonction par défaut est activée pour ces pins.

Ca veut dire qu'on a aussi le même problème avec les pin RB7/ICSPDAT et RB6/ICSPCLK ?

C'est au moment de programmer avec le pickit qu'on peut modifier les options ou dans le code qu'on conçoit ?

Et quid de la config trisa si je passe RA7 et RA6 en mode osc ? on passe de 8 bits à 6 bits pour la config tris ?

Pins du 16F1784
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#4 Message par Guest » sam. 20 août 2016 17:09

Bonjour

walawa75 a écrit :Ca veut dire qu'on a aussi le même problème avec les pin RB7/ICSPDAT et RB6/ICSPCLK ?

Pour les pins qui ont plusieurs fonctions: et il y en a :wink: les pins sont définies sur une fonction au départ. Tu retrouves cette fonction dans la DS
Ces fonctions sont définies par des registres, en positionnant les bits de ces registres, tu modifies la configuration de tes pins
Exemple de jeremy sur comment déterminer un pin en entrée ou en sortie par le registre TRIS du port concerné
C'est au moment de programmer avec le pickit qu'on peut modifier les options ou dans le code qu'on conçoit ?

Tout part du code que tu ecris pour finir dans la mémoire programme de ton pic par intermédiaire du programmateur
Et quid de la config trisa si je passe RA7 et RA6 en mode osc ? on passe de 8 bits à 6 bits pour la config tris ?

NON, ton tris sera toujours sur 8 bits, mais celui ci n'aura aucun effet sur les bits 7 et 6 du port, si tu as décide de les attribuer a l'oscillateur.


bien le plaisir de te lire et

A+

Pins du 16F1784
walawa75
Membre
Membre
Messages : 18
Âge : 48
Enregistré en : août 2016
Localisation : Nooooormandie

#5 Message par walawa75 » sam. 20 août 2016 18:24

Ok, je commence progressivement à comprendre le fonctionnement de ces petites bêtes. Je viens tout juste de m'y initier et je sens que je vais y passer un peu de temps !! :-D :-D

En tout cas merci beaucoup pour la clarté de vos réponses #Jérémy et #Maï !! Merci !

Pins du 16F1784
Jérémy
Administrateur du site
Administrateur du site
Messages : 2723
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#6 Message par Jérémy » sam. 20 août 2016 18:29

Pas de quoi,

Quand on débute on a environ 1 milliards de questions et d’interrogation, et c'est bien normal.
Comprendre et connaitre les Data-sheet, demande du temps beaucoup de temps et de patience !

Je te dis certainement a très vite pour d'autres questions ! :lol:
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Pins du 16F1784
walawa75
Membre
Membre
Messages : 18
Âge : 48
Enregistré en : août 2016
Localisation : Nooooormandie

#7 Message par walawa75 » dim. 21 août 2016 12:05

Jérémy a écrit :Pas de quoi, Je te dis certainement a très vite pour d'autres questions ! :lol:


Bonjour les experts !! Et oui ça n'a pas loupé j'ai d'autres questions. :-D :-D

Voici mon tout premier schéma électronique !! A 40 ans vous me direz qu'il était temps :lol: :lol:

Bon , comme vous le voyez c'est un projet de chenillard de led dont la programmation va être un "plaisir", mais bon, ça me plaît !!

Je compte amener l'alim +5V de la carte via un chargeur mini USB dont pour la "sauce" avec 1A on devrait être à l'aise. Vu que je veux programmer et debugguer mon PIC in situ ( pour éviter de tordre les pattes du PIC), j'ai aussi préparé l'intégration de mon Pickit2 dans le schéma. Le Pickit 2 lui sera alimenté via le port USB du PC (du moins je pense :-D )

J'ai donc mis une résistance de tirage sur le port MCLR afin de ne pas griller le Pickit ou de ne pas renvoyer 5V dans l'alim.

Le PIC ayant 2 ports VCC (ou VDD) je n'ai branché le pickit2 que sur 1 seul ce qui me parait suffisant.

Ces deux derniers points me paraissent très obscurs car j'ai entendu parlé de cette fameuse résistance de tirage pour permettre un démarrage correct du PIC. J'ai vu sur un topic de Jérémy qu'il n'y avait pas de résistance alors je suis un peu perdu !!

Voilà n'hésitez pas à me dire si de la fumée de sapin risque de sortir de ce montage, toute critique est la bienvenue.

Bonne journée

Image
Modifié en dernier par walawa75 le dim. 21 août 2016 23:31, modifié 2 fois.

Pins du 16F1784
Jérémy
Administrateur du site
Administrateur du site
Messages : 2723
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#8 Message par Jérémy » dim. 21 août 2016 13:00

A 40 ans vous me direz qu'il était temps


Y'a pas d'âge pour s'initier ! En tout cas commencer par un chenillard est une excellente idée !

J'ai donc mis une résistance de tirage sur le port MCLR afin de ne pas griller le Pickit ou de ne pas renvoyer 5V dans l'alim.

Tu ne risque rien ; La Resistance de tirage ( Pull-Up car relié a Vcc), sert a forcer l'état de la broche a Vcc en l’absence du PICKIT ! Sinon ton PIC redemarerai en permanence !

Le PIC ayant 2 ports VCC (ou VDD) je n'ai branché le pickit2 que sur 1 seul ce qui me parait suffisant.

Comme ton PICKIT n'alimente pas directement ta carte, tu n'es pas même pas obligé de le mettre . Perso c'est ce que je fais . je laise la Broche Vcc de mon programmateur en l'air ! un sujet en traite sur ce lien

J'ai vu sur un topic de Jérémy

Lequel ? La broche MCLR peut-être utilisé en I/O ou comme Reset ?

Pour ma part tu risque de voir un peu de fumée ou de dégradé ton PIC avec ce montage, dans le cas ou pendant tu va t'éclater à programmé, toute les leds vons s'allumer en même temps !!!!

Et la la consommation demander au PIC sera bien supérieur a celle autoriser en max ratings de la DS . Je compte 20 diodes (je pense que tu voulais schématiser des LEDs, il manque les petites flèches pour dire qu'elles s'éclairent).
Avec un courant de 15mA dans chaque leds cela fera : 20 * 15 = 300mA . Un Pic (a verifier sur la DS) peut forunir au max sur toutes ces sorties cumulées 90mA .

Il faudrait donc utiliser d'autres composants permettant de palier a ce problème comme par exemple un ensemble d'ULN2803qui possède 8 transistors darlington .
dans ce genre la :
2803led.jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Pins du 16F1784
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#9 Message par Guest » dim. 21 août 2016 13:23

bonjour

Ok avec jeremy sur la capacité du port a debiter un courant max 200 mA ,donc soit tu passes par un buffer soit par des transistors allez 2N222A soit par des leds de 10 mA. tu ne nous dis rien sur cela ......
Pour ce qui est du PICKIT2 je te conseil de mettre +5V GND, de toute façon a la programmation il va te le demander de plus si tu fais de in situ

il y a aussi un autre petit problème au niveau de RC1. tu ne limites pas le courant dans ton entrée perso je préféré une résistance de tirage 10K et le BP a la masse

a+

Pins du 16F1784
walawa75
Membre
Membre
Messages : 18
Âge : 48
Enregistré en : août 2016
Localisation : Nooooormandie

#10 Message par walawa75 » dim. 21 août 2016 13:35

Jérémy a écrit :Tu ne risque rien ; La Resistance de tirage ( Pull-Up car relié a Vcc), sert a forcer l'état de la broche a Vcc en l’absence du PICKIT ! Sinon ton PIC redemarerai en permanence !


Pourquoi tu n'en mets pas ici alors ? sur ce lien Parce que tu laisses ton programmeur branché en permanence ?

Jérémy a écrit : La broche MCLR peut-être utilisé en I/O ou comme Reset ?


A priori, je n'ai pas besoin de reset pour mon chenillard donc je laisse le port par défaut ?

Jérémy a écrit : Pour ma part tu risque de voir un peu de fumée ou de dégradé ton PIC avec ce montage, dans le cas ou pendant tu va t'éclater à programmé, toute les leds vons s'allumer en même temps !!!!
Et la la consommation demander au PIC sera bien supérieur a celle autoriser en max ratings de la DS . Je compte 20 diodes (je pense que tu voulais schématiser des LEDs, il manque les petites flèches pour dire qu'elles s'éclairent).


Ah c'est bizarre, sur la page 380 du DS j'ai un max VSS et VDD à 340mA avec un max par pin (sans limite par port) de 25mA. M'aurait t'on menti ? :shock: :shock: :-D

Sachant que seulement 10 diodes seront allumées en simultané, ça fait avec un courant de 15mA par diode 150mA à tirer.
Et encore, si on allume les 20 diodes en même temps on arrive en dessous des 340mA. J'ai justement choisi ce modèles de pic étant vendu comme spécial led. :shock: :shock:

Qu'en penses tu ?

En tout cas merci pour l'échange, c'est super intéressant.

PS: Pour mes diodes schématisées, je devrais effectivement avoir les petites flèches :-D :-D


Retourner vers « Généralités sur les PICs »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 90 invités