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

Branchement sur carte EasyPIC V7 ?
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#1 Message par Jérémy » mer. 26 juil. 2017 20:21 lien vers la Data-Sheet : Cliquez ici

Bonsoir à tous ,

Je rencontre un problème plutôt inexplicable pour moi .

Je vous mets en lien le schéma de la carte EasyPIC V7 que je possède . Sur cette carte est branchée un PIC18F46K22 5 (Lien en haut).
Lien vers schéma

J' ai branché un module click sur le MikroBUS 1 .
J'ai également l'eranc GLCD qui utilise le PORT D pour les data et le PORT B pour l'utilisation.

J'utilise l'UART1 pour communiquer avec mon module. J'ai donc le deux LEDs RC7 et RC6 allumées, pour la com quand la com UART est au repos (état haut). Tout va bien, la com fonctionne.

Maintenant je souhaitais utiliser les broches du PORT E pour me faire des entrées de bouton poussoir.
Je passe donc les 3 premiers bit du port E en entrée.

La déjà bizarrement l'entrée RE1 est allumée ( mais pas à fond) ???? Alors que rien n'est branché dessus ..... . La com UART fonctionne !
Je précise que quand j’appuie sur un BP je mets à Vcc la PIN du PIC .

Je décide donc de mettre un R de pull-down sur l'entrée RE1 pour forcer l'état à GND en absence d'appui . Et la poufffff, ma led RC7 s'éteint et la com UART ne fonctionne plus.

Du coup je ne sais pas si ça viens du PIC, genre un double emploi d'une fonction ou d'un réglage sur ma plaque ( connecteurs ou autres) .

Si quelqu'un à le courage de regarder le schéma ......

car je ne vois vraiment pas pourquoi RE1 aurait une quelconque relation avec RC7
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Branchement sur carte EasyPIC V7 ?
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#2 Message par Temps-x » mer. 26 juil. 2017 22:11 lien vers la Data-Sheet : Cliquez ici

Bonsoir Jérémy,et bonsoir à tous ,

1) As tu éteins tes comparateurs ?
2) As tu mis tes pattes comme E/S, et coupé le mode numérique ?

J'ai regardé le schéma, mais reste à voir comment tu as branchés tous ça, le code serais le bienvenu :roll:

A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Branchement sur carte EasyPIC V7 ?
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#3 Message par Jérémy » mer. 26 juil. 2017 22:31 lien vers la Data-Sheet : Cliquez ici

Bonsoir Temps-x,

1) As tu éteins tes comparateurs ?

Non je n'ai pas éteint les comparateurs ! je vais me rencardé la dessus ! tu crois que ça pourrait être ça ma cause ?


2) As tu mis tes pattes comme E/S, et coupé le mode numérique ?

Toutes les pattes sont en numériques

Code : Tout sélectionner

/*

 PIC18F46K22 :  http://ww1.microchip.com/downloads/en/DeviceDoc/41412F.pdf

 */


// connexion du  module GLCD
char GLCD_DataPort at PORTD;

sbit GLCD_CS1 at LATB0_bit;
sbit GLCD_CS2 at LATB1_bit;
sbit GLCD_RS  at LATB2_bit;
sbit GLCD_RW  at LATB3_bit;
sbit GLCD_EN  at LATB4_bit;
sbit GLCD_RST at LATB5_bit;

sbit GLCD_CS1_Direction at TRISB0_bit;
sbit GLCD_CS2_Direction at TRISB1_bit;
sbit GLCD_RS_Direction  at TRISB2_bit;
sbit GLCD_RW_Direction  at TRISB3_bit;
sbit GLCD_EN_Direction  at TRISB4_bit;
sbit GLCD_RST_Direction at TRISB5_bit;
// Fin


//-----------------------------------     VARIABLES et CONSTANTES      ------------------------------------------------
char iTempIndex_BuffBuffer_plein;
char Buffer[15];

//---------------------------------------        PROTOTYPE          ---------------------------------------------------


//---------------------------------------------------------------------------------------------------------------------
void interrupt() {

  if ( 
RC1IF_bit == ) {  // reception UART detectée

    
Temp UART1_Read();              // On stock temporairement la variable recue

    
if (Temp == '\r') {               // Verifie fin de message(Carriage Return) ou Buffer plein

       
Buffer[Index_Buff] = 0;        // On rajoute un Terminateur de string
       
Index_Buff 0;                // RZA du compteur de l'index
       
Buffer_plein 1;              // Singale que le Buffer est rempli et qu'on peut le lire
     
}
    else{
       
Buffer[Index_Buff] = Temp;    // On remplit le Buffer avec le caractere recu
       
Index_Buff++ ;                // On incremente l'index
     
}
  }
}


/*#####################################################################################################################
#####################################     PROGRAMME PRINCIPAL     #####################################################
#####################################################################################################################*/
void main() {

  
ANSELA ANSELB ANSELC ANSELD ANSELE 0;   // Tous les PORT en digitaux
  
TRISA 0b00000111;                               // RE0, RE1 et RE2 en entrée pour BP
  
TRISE 0b00000111;
  
  
Glcd_Init();                                      // Initialisation du GLCD
  
Glcd_Set_Font(FontSystem5x7_v25732);        // Charge la police

  
UART1_Init(19200);                                // Initialise  l'UART
  
Delay_ms(100);                                    // Pause de stabilisation

  
RC1IE_bit 1;                                    // Active les interruption sur reception UART
  
RC1IF_bit 0;                                    // On RAZ le drapeau
  
PEIE_bit  1;                                    // Active les Interruption périphérique
  
GIE_bit   1;                                    // Active les interruptinos globales
  
  
Glcd_Fill(0x00);                                  // Efface l'écran
  
  
delay_ms(1000);
  
  for (
i=0;i<15;i++){                               // RAZ le buffer
      
Buffer[i] = 0;
   }
 
  
Index_Buff Buffer_plein ;

/*#####################################################################################################################
#######################################     BOUCLE INFINIE      #######################################################
#####################################################################################################################*/
  
while(1) {



    if (
PORTE.B0 == 1) {        // If PORTE.B0 is pressed :
       
delay_ms(20);
       if (
PORTE.B0 == 1) {
          
Glcd_Write_Text("appui RE0"001);
          
UART1_Write_text("Essai\r");
          
Delay_ms(500);                     //  Pause
          
Glcd_Write_Text("           "001);
          while (
PORTE.B0 == 1);
       }
    }

    if (
Buffer_plein == 1){                        // Si le Buffer est remplit
       
Glcd_Write_Text("                  "131);  // J'efface la ligne du buffer
       
Glcd_Write_Text(Buffer131);                // J'affiche le buffer
       
Buffer_plein 0;                                // Je raz le flag
    
}


  }

C'est en faisant des erreurs, que l'on apprend le mieux !!!

Branchement sur carte EasyPIC V7 ?
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#4 Message par Jérémy » mer. 26 juil. 2017 23:00 lien vers la Data-Sheet : Cliquez ici

J'ai épluché la DS pour trouver des infos sur les comparateurs . Pas évident ces registre !

Je pense qu'avec :

Code : Tout sélectionner


CM1CON0 
0;
CM2CON0 0


cela devrait les coupés , mais sans effet sur mon problème, dés que je met RE1 en pull-down RC7 passe à 0 aussi.
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Branchement sur carte EasyPIC V7 ?
cyril13110
Confirmé
Confirmé
Messages : 724
Âge : 41
Enregistré en : avril 2016
Localisation : 13

#5 Message par cyril13110 » jeu. 27 juil. 2017 13:48 lien vers la Data-Sheet : Cliquez ici

bonjour,
physiquement (hors pic) il n'y a pas de lien entre le PE1 et le PC7.
ca aurai pu etre des cavaliers mal placé mais non.....un cours circuit interne d'une puce de la plaquette....mais non.....

hormis un faut contact ou des soudures abimé, ca viens du coup forcement de l’intérieur du pic....
ton code n'a pas l'air d'etre en cause, reste plus qu'a te palucher l'ensemble des registres pour trouver le bon....

Branchement sur carte EasyPIC V7 ?
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#6 Message par paulfjujo » jeu. 27 juil. 2017 14:52 lien vers la Data-Sheet : Cliquez ici

bonjour Jeremy et à tous,


.. car je ne vois vraiment pas pourquoi RE1 aurait une quelconque relation avec RC7..



Les PINS du port E sont multiplexées.
je vois un semblant de lien avec CCP3MX :

page 152 DS
TABLE 10-14: PORTE I/O SUMMARY

parametre config
CONFIG 3H
CCP3MX: CCP3 MUX bit
1 = CCP3 input/output is multiplexed with RB5
0 = CCP3 input/output is multiplexed with RC6(1)
CCP3 input/output is multiplexed with RE0(2)
Alternate pin assignment for P3A/CCP3 when Configuration bit CCP3MX is clear

RE1/P3B/AN6
P3B DIG Enhanced CCP3 PWM output.

RC7 peut etre affecté à
P3B 0 0 O CMOS Enhanced CCP3 PWM output 2.

14.5 Register Definitions: ECCP Control
REGISTER 14-1: CCPxCON: STANDARD CCPx CONTROL REGISTER

essaie de rajouter dans l'init, meme si par defaut il devrait etre à zero (sur reset)
CCP3CON=0;

C'est quoi ton module sur le mikroBus #1 ?
Aide toi, le ciel ou FantasPic t'aidera

Branchement sur carte EasyPIC V7 ?
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#7 Message par Jérémy » jeu. 27 juil. 2017 14:59 lien vers la Data-Sheet : Cliquez ici

Ok j'essaye ça ce soir sans faute ! J'avais pensé au multiplexage, car la led n'est pas allumé a fond . Donc elle ne doit etre allumée en permanence donc i ldoit y avoir du traffic sur cette broche ! ( état haut et état bas successif) . mais je n'ai jamais réussis a trouver quoi ;

Je pourrai regarder ma plaque a l'oscillo demain au pire .

Il s'agit du module Trf Click !
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Branchement sur carte EasyPIC V7 ?
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#8 Message par Jérémy » jeu. 27 juil. 2017 21:08 lien vers la Data-Sheet : Cliquez ici

essaie de rajouter dans l'init, meme si par defaut il devrait etre à zero (sur reset)
CCP3CON=0;
test effectué ca reste pareil : dés que je met RE1 en pull-down RC7 passe à 0 aussi.
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Branchement sur carte EasyPIC V7 ?
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#9 Message par Temps-x » jeu. 27 juil. 2017 22:02 lien vers la Data-Sheet : Cliquez ici

Bonsoir Jérémy, et bonsoir à tous ,

Toutes les pattes sont en numériques


Mets les en analogique, et essai de nouveau.

A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Branchement sur carte EasyPIC V7 ?
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#10 Message par Jérémy » sam. 29 juil. 2017 13:46 lien vers la Data-Sheet : Cliquez ici

Bonjour,

Mets les en analogique, et essai de nouveau.

Toujours pareil . par contre la broche RE1 est reliée au MikroBUS. Et comme j'ai mon module sur le MikroBUS, je me rends compte qu'elle est sur la broche RST .

Il doit y avoir un rapport ..... JE creuse !!!!!
C'est en faisant des erreurs, que l'on apprend le mieux !!!


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

Qui est en ligne

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