[Le Souk] Tout et rien

Pour parler de tout et de rien
Fab
Routard
Routard
Messages : 1537
Enregistré le : 30 août 2006, 11:06
Type(s) de voiture(s) :
Contact :

Message par Fab »

4lman78 a écrit : Ok lol c'est un programme qui fait quoi?
sais pas... :P




Si, c'est pour programmer un PIC... il calcule vitesse et accélération à partir d'un signal odométrique
Mais ca c'est des couches basses, c'est pas moi qui ait fait :D
joys
Globe-Trotter
Globe-Trotter
Messages : 4869
Enregistré le : 12 janv. 2006, 21:42
Type(s) de voiture(s) :
Contact :

Message par joys »

ah oué je me disait aussi....
Fab
Routard
Routard
Messages : 1537
Enregistré le : 30 août 2006, 11:06
Type(s) de voiture(s) :
Contact :

Message par Fab »

moi je fais plutôt ca:
void main(void)
{
// ces trois lignes sont nécessaires aux deux compteurs
// Interrupt Priority feature enableing

  RCONbits.IPEN = 1;  // Interrupt Priority Feature is enabled

//// INTCON : Interrupt Control Register
  INTCONbits.GIEH = 1;  // Enables all high priority interrupts
  INTCONbits.GIEL = 1;  // Enables all low priority peripheral interrupts

// ***
// Init Timer0 <==> Horloge
// ***

// // On règle le fonctionnement du Timer 0
// // Ici, timer sur 16 bits (0x0000 à 0xFFFF)
// // Prescaler à 1:8, soit
// //  Tcy = 4/48MHz = 0,083333 µs
// //  Timer = 8 * Tcy = 0.66666 µs ==> donc une incrémentation ttes les 0.666666 µs
// //  16 bits donc 65535 valeurs
// //  Si on compte sur la pleine échelle de 0 à 65535, on mettra 65535 * 0.666666 = 43.69 ms avant de déclencher l'interruption. ==> trop pour 20 ms
// //  On va donc faire interrompre le Timer toutes les 0,020s et on comptera 50 interruptions avant d'avoir notre seconde.
// //   
// // Timer 0 sur 16 bits.
// // On charge sa valeur de début de comptage dans TMROH et TMROL
// // On veut 20000 µs avant interruption. Soit 30000 Tcy
// // On charge donc le Timer à 65535 - 30000 = 35535 soit 0x8ACF
// // Cette valeur est ensuite recalée par rapport au temps réel

// TIMER0 Control Register

T0CONbits.T08BIT=0;  // Timer0 is configured as 16-bit timer/counter
T0CONbits.T0CS=0;  // Internal instruction cycle clock (CLKO)
// T0CONbits.T0SE=0;  // Increment on low-to-high transition on TOCK1 pin
T0CONbits.PSA=0;  // Timer Prescaler is assigned. Timer0 clock input comes from prescaler output
T0CONbits.T0PS2=0; //1:8 //0//1//1//1//1; //1:16 // 1:32 // 1:64 // 1:128 // 1:256 prescale value
T0CONbits.T0PS1=1; //1:8 //1//0//0//1//1; //1:16 // 1:32 // 1:64 // 1:128 // 1:256 prescale value
T0CONbits.T0PS0=0; //1:8 //1//0//1//0//1; //1:16 // 1:32 // 1:64 // 1:128 // 1:256 prescale value

// TIMER0 Interrupt Control Register 1

INTCONbits.TMR0IF=0;  // = 1 if TMR0 has overflowed, else = 0
INTCONbits.TMR0IE=1;  // Enables the TMR0 overflow interrupt
INTCONbits.INT0IE=0;  // Disables the INT0 external interrupt on port RB0
INTCONbits.RBIE=0;    // Disables the RB4:7 port change interrupt
// INTCONbits.INT0IF = 1 if The INT0 external interrupt occurred (must be cleared in software), else = 0
        // /!\ INT0 est toujours en HAUTE priorité /!\

// TIMER0 Interrupt Control Register 2

INTCON2bits.TMR0IP = 1;  // Place l'interruption TMR0 en haute priorité
//  INTCON2bits.INTEDG1=1;  // Interrupt on rising edge sur port RB1

//// TIMER0 Interrupt Control Register 3
//
//  INTCON3bits.INT2IE=0;  // Disables INT2 external interrupt on port RB2
//  INTCON3bits.INT1IE=0;  // Disables INT1 external interrupt on port RB1
//  INTCON3bits.INT1IP=0;  // Place l'interruption sur port RB1 en basse priorité

// Initialisation du TIMER0

TMR0H = 0x8B;  //interruption toutes les 100 µs 0xFFA6  //interruption toutes les 20 µs 0xFFE1  //interruption toutes les 2 ms 0xF448
TMR0L = 0x85;  //interruption toutes les 200 µs 0xFED4(FED9) //interruption toutes les 20 ms 0x8AD0|8B85

// TIMER0 Control Register - - - Lancement du Timer0

T0CONbits.TMR0ON = 1;  // Enables Timer0

//-------------------------------------------------------------------------------------------------------------------------------------------------
// ***
// Init Timer1
// ***


// PIR1 : PERIPHERAL INTERRUPT REQUEST (FLAG) REGISTER 1

PIR1bits.TMR1IF = 0; // TMR1 Interrupt Flag bit
PIR1bits.CCP1IF = 0; // CCP1 Interrupt Flag bit

// PIE1 : PERIPHERAL INTERRUPT ENABLE REGISTER 1

PIE1bits.TMR1IE = 1; // Timer1 Interrupt Enable bit
PIE1bits.CCP1IE = 1; // CCP1 Interrupt Enable bit

// IPR1 : PERIPHERAL INTERRUPT PRIORITY REGISTER 1

IPR1bits.TMR1IP = 0; // TMR1 Overflow Interrupt Priority bit(0 = low priority)
IPR1bits.CCP1IP = 0; // CCP1 Overflow Interrupt Priority bit(1 = high priority)

// PIR2 : PERIPHERAL INTERRUPT REQUEST (FLAG) REGISTER 2

// PIR2bits.TMR3IF = 0; // TMR3 Interrupt Flag bit
// PIR2bits.CCP2IF = 0; // CCP2 Interrupt Flag bit

// PIE2 : PERIPHERAL INTERRUPT ENABLE REGISTER 2

PIE2bits.CCP2IE = 0; // CCP2 Interrupt Enable bit
PIE2bits.TMR3IE = 0; // TMR3 Interrupt Enable bit

// TRISC

TRISCbits.TRISC2 = 1; // RC2/CCP1 pin is set as an input

// T1CON : TIMER1 Control Register


T1CONbits.RD16 = 0;  //Enables register read/write of Timer1 in two 8-bit operations
T1CONbits.T1RUN = 0; //Device clock is derived from another source (not from Timer1 oscillator)
T1CONbits.T1CKPS1 = 1; //Prescaler value = 1:8
T1CONbits.T1CKPS0 = 1; //Prescaler value = 1:8
T1CONbits.T1OSCEN  = 0; //Timer1 oscillator is shut off
T1CONbits.TMR1CS = 0; //Internal clock (Fosc / 4)


// T3CON : TIMER3 Control Register

T3CONbits.T3CCP2 = 0;  // Timer1 is the capture clock source for both CCP modules
T3CONbits.T3CCP1 = 0;
// T3CONbits.TMR3ON = 0;


// CCPxCON: STANDARD CCP CONTROL REGISTER

CCP1CONbits.CCP1M3 = 0;  // 0101 Capture mode for CCP1 module every rising edge
CCP1CONbits.CCP1M2 = 1;  // 0100 Capture mode for CCP1 module every falling edge
CCP1CONbits.CCP1M1 = 0;  // 0110 Capture mode, every 4th rising edge
CCP1CONbits.CCP1M0 = 1;  // 0111 Capture mode, every 16th rising edge

TMR1H = 0x00;
TMR1L = 0x00;

T1CONbits.TMR1ON = 1; //Start Timer1



//--------------------------------------------------------------------------//

//** Initialisation du système ********************************************//
InitializeSystem();

//** Traitement des tâches lièes à l'usb (requête, in/out...) **************//
//** Traitement des tâches utilisateurs ************************************//

  while(1)
  {
//  if(TMR1_overflow < 5)
//  {
  while(TOR_pin == 0){USBTasks();}  // pour pouvoir connecter le VB
  USBTasks();        // USB Tasks. Voir main.c
  ProcessIO();  // Voir user.c
//mLED_Orange_Off();
//mLED_Rouge_On();

//  }
//  if(TMR1_overflow >= 5)
//  {
//  while(TOR_pin == 0){USBTasks();}  // pour pouvoir connecter le VB
//  USBTasks();
//  Arret();
//mLED_Orange_On();
//mLED_Rouge_Off();
//  }
  } //end while


} //end main
:D :D :D


edit: si vous comprenez pas, j'ai un pdf de 400 pages en anglais... ca pourra peut être vous aider!
Fab
Routard
Routard
Messages : 1537
Enregistré le : 30 août 2006, 11:06
Type(s) de voiture(s) :
Contact :

Message par Fab »

Alors là, avec un pseudo pareil...je ne la ramènerai pas moi! :P

Et sinon, la réponse est toujours...NON :D

A+
B)
joys
Globe-Trotter
Globe-Trotter
Messages : 4869
Enregistré le : 12 janv. 2006, 21:42
Type(s) de voiture(s) :
Contact :

Message par joys »

oué je taff sur ma 4L au boulot logique...
joys
Globe-Trotter
Globe-Trotter
Messages : 4869
Enregistré le : 12 janv. 2006, 21:42
Type(s) de voiture(s) :
Contact :

Message par joys »

Et voila j'ai fini mon boulot....pour la journée...voir peut-etre la semiane...
Fab
Routard
Routard
Messages : 1537
Enregistré le : 30 août 2006, 11:06
Type(s) de voiture(s) :
Contact :

Message par Fab »

et bien moi, j'ai bien bossé ce matin ( :P ), alors je vais manger...

a toutes
joys
Globe-Trotter
Globe-Trotter
Messages : 4869
Enregistré le : 12 janv. 2006, 21:42
Type(s) de voiture(s) :
Contact :

Message par joys »

je bouffe devant mon pc après etre aléé a Leroy Merlin acheté un multimètre, une combinaison de peinture, un masque et des gants....total: 49.40 euros.
joys
Globe-Trotter
Globe-Trotter
Messages : 4869
Enregistré le : 12 janv. 2006, 21:42
Type(s) de voiture(s) :
Contact :

Message par joys »

Tout ce petit monde ne travaille pas a 14 h 10....
4lman78, jethro, wiggys92, usbek, didinette, alvinflumox, grouch, Fab, tamdarkiller, nicky

J'ai citer personne.... juste CTRL + C et CTRL + V
Avatar du membre
alvinflumox
Ancien
Ancien
Messages : 14140
Enregistré le : 03 août 2006, 17:50
Award : Membre le plus amical (2007), le plus bel esprit VRally4L (2011,2013)
Type(s) de voiture(s) : Vralline ('86)-prépa raid, golf mk1 gti ('79)-full origine
Ecole/Professions : papa
Contact :

Message par alvinflumox »

non, je bosse pas, je reviens du commico pour l'accident de ya 3 semaines...
lol

QUI c'est qui est pas dans la merde!!! et ben c'est pas moi!!!
Répondre

Qui est en ligne

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