boonjour tout le monde,
je dois programmer les comporsants dune crte electronique qui comporte pic18f46k22 quart 4mhz led et afficheur,
Pouvez vous me dire si linitialization du quartz (sur broche ra et ra7 ) ? je dois voir sur mon oscillot (les led ne sont pas encore sur la carte) mon signal dhoroge mais rien. je sis perdu
merci davance
Code:#ifndef HORLOGE_H #define HORLOGE_H //Déclaration des PORTXbits.RXX utilisés #define LED0 PORTAbits.RA0 #define LED1 PORTAbits.RA1 #define LED2 PORTAbits.RA2 #define LED3 PORTAbits.RA3 #define LED4 PORTAbits.RA4 #define LED5 PORTAbits.RA5 #define LED6 PORTAbits.RA6 #define LED7 PORTAbits.RA7 //Configuration Bits #pragma config FOSC = XT //OSCILLATOR externe #pragma const config FCMENB = OFF //Fail Safe Clock Monitor Disabled #pragma const config IESOB = OFF //Internal External Osc. Switch Disabled #pragma config PWRT = OFF //Power Up Timer Disabled #pragma const config BOR = BOHW //Brown Out Reset Enabled in HW, SBOREN disabled #pragma const config BORV = 20 //Brown Out Voltage : 2.0V #pragma config WDT = OFF //WATCHDOG HW Disabled - SW Controlled #pragma config DEBUG = OFF //DEBUG Disabled #pragma config LVP = OFF //Low Voltage Programming Disabled void main() { unsigned char count; // initialisation ADCON1 = 0x0F; // config. toutes les broches de PORTA en mode numérique TRISA = 0; // configure le port A en tant que SORTIE PORTA = 0; // initialement, toutes sorties à 0 // boucle parcourue à raison d'une itération par seconde : // - PORTA0 allumé une seconde sur deux // - PORTA1 allumé pendant une seconde toutes les 10 secondes // - PORTA1 allumé pendant une seconde toutes les 20 secondes for(;;) { PORTAbits.RA0 = count & 1; count++; if(count == 10) { PORTAbits.RA1 = 1; count = 0; }else PORTAbits.RA1 = 0 } #endif /* HORLOGE_H */
-----