Je suis confronter à un problème étrange de configuration .
En effet sur la BROCHE RB2 de mon PIC , j'ai connecter un BP avec une pull-down de 10K .
J'ai configurer cette broche en entrée . et pourtant j'ai une tension constante de Vdd sur sur cette boche sans appuyé sur le BP.
Je pense à un problème de configuration car cette broche ( RB2) à été modifié pour ne pas servir de SDO1 .
Voici le schéma
et un bout du programme simpliplfié :
Code : Tout sélectionner
//############################# DECLARATION ############################
#include "Oled_M.h"
#include "chiffre.h"
#define BP_G PORTB.B2
#define BP_M PORTB.B0
#define BP_D PORTB.B1
#define Led_rouge PORTA.B7
#define Led_verte PORTA.B0
#define NPN PORTA.B3
#define PNP PORTA.B2
#define OLED_RST PORTB.B3
#define OLED_CS PORTA.B1
#define OLED_DC PORTB.B5
//##################################################################################
//###################### PROGRAMME PRINCIPAL ###############################
//##################################################################################
void main(){
ANSELA = 0; // PORTA en digital
ANSELB = 0; // PORTB en digital
TRISA = 0b00110000 ; // RA4 ( vide) et RA5(MCLR) en entrée
TRISB = 0b11000111 ; // RB0(BP_M), RB1(BP_D), RB2(BP_G) et RB6,RB7(ICSP) en entrée
OSCCON = 0b01111110 ; // reglage de L'OSC interne 16Mhz sans PLL
SDO1SEL_bit = 1 ; // Réglage de SDO1 sur RA6
SPI1_Init(); // Initialisation du SPI
Delay_ms(100);
OLED_M_Init(); // Initialisation de l'ecran LCD
Delay_ms(200);
//############################ BOUCLE INFINIE ##############################
while(1){
if (BP_D == 1)
Led_verte = 1;
else
Led_verte = 0;
if ( BP_G == 1)
Led_rouge = 1;
else
Led_rouge = 0;
if ( BP_M == 1){
Led_rouge = 1;
Led_verte = 1; }
else{
Led_rouge = 0;
Led_verte = 0;
}
}
C'est un programme de test, pour vérifier les fonctions principales.
résultat la Led_rouge est tout le temps allumée, j'ai bien 3.29V sur cette broche alors que je l'ai mise en entrée et que je n'appuie pas sur le BP bien évidemment .
En supprimant la ligne SDO1SEL_bit = 1 ; le BP fonctionne normalement.
J'en déduis que cette broche passe en sortie par un système non maitrisé pour ma part. Oui mais lequel ?

