Bonsoir à tous, alors voilà mon problème : je suis censé réussir à programmer un PIC16F886 dans le cadre de ma première année d'IUT, disons que j'avais réussi (en tout cas à créer de la PWM sur les pattes RC1 et RC2), sauf que voilà pour une raison tout à fait inconnu, du jour au lendemain ma jolie petite carte de commande (fournie par le prof donc je m'excuse de ne pas joindre de schéma, j'essaierai quand même d'en dégotter un) s'est arrêtée de fonctionner (plus de PWM ou aucun autre signal sur les pattes), sur le coup je me dis : bon c'est pas grave tu vas la reprogrammer.
Je prend donc ma carte, un PICKIT2, j'ouvre MPLABX et sors un programme plutôt simple pour allumer une LED :
A savoir que le fichier configuration_bits est aussi fourni par les profs, et qu'il fonctionnait parfaitement.Code:#include "configuration_bits.h" void main(void) { TRISC = 0xF0; RC0=1; while(1) // boucle infinie { } }
Bon ensuite je rentre le programme dans le PIC et j'obtiens ça :
BUILD SUCCESSFUL (total time: 2s)
Loading code from C:/Users/Utilisateur/Desktop/PROGRA/timer0/LED.X/dist/default/production/LED.X.production.hex...
Loading completed
Connecting to programmer...
Programming target...
The programmer could not be started: Failed to program the target device
Bien sur je change de PIC, de Carte, de PICKIT (mais uniquement des 2), d'ordinateur, de version de MPLABX (V3.05 et V3.50), la seule chose qui ne change pas c'est mon compilateur (XC8 V1.41) ma config de projet et mon fichier configuration bits (que je comprend à moitié seulement :/ )
Bon voici justement le fichier configuration_bits :
Si besoin je peux faire des captures d'écran, j'espère vraiment que quelqu'un trouvera mon erreur, si ça se trouve elle est ENORME mais là je suis à cours d'idée, j'ai l'impression de tout avoir essayé.Code:// PIC16F887 Configuration Bit Settings // 'C' source line config statements #include <xc.h> // #pragma config statements should precede project file includes. // Use project enums instead of #define for ON and OFF. // CONFIG1 #pragma config FOSC = HS // Oscillator Selection bits (HS oscillator: High-speed crystal/resonator on RA6/OSC2/CLKOUT and RA7/OSC1/CLKIN) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register) #pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled) #pragma config MCLRE = ON // RE3/MCLR pin function select bit (RE3/MCLR pin function is MCLR) #pragma config CP = OFF // Code Protection bit (Program memory code protection is disabled) #pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled) #pragma config BOREN = ON // Brown Out Reset Selection bits (BOR enabled) #pragma config IESO = ON // Internal External Switchover bit (Internal/External Switchover mode is enabled) #pragma config FCMEN = ON // Fail-Safe Clock Monitor Enabled bit (Fail-Safe Clock Monitor is enabled) #pragma config LVP = OFF // Low Voltage Programming Enable bit (RB3 pin has digital I/O, HV on MCLR must be used for programming) // CONFIG2 #pragma config BOR4V = BOR40V // Brown-out Reset Selection bit (Brown-out Reset set to 4.0V) #pragma config WRT = OFF // Flash Program Memory Self Write Enable bits (Write protection off)
Merci d'avance pour vos réponses (si personne n'est découragé par cet imposant pâté)
PS : j'ai peut-être oublié certaines informations, n'hésitez pas à les demander
-----