[PIC24F] - Output compare en mode 32 bits
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

[PIC24F] - Output compare en mode 32 bits



  1. #1
    jorg1n

    [PIC24F] - Output compare en mode 32 bits


    ------

    Bonjour,

    J'utilise un PIC24FJ256DA206, et je souhaiterai utiliser le module Output Compare pour faire clignoter une LED. En mode 16 bits, pas de soucis... mais je n'arrive pas à avoir une période suffisamment longue et je souhaiterai utiliser le module Output Compare en mode 32 bits et comme source le timer 2/3 (en 32 bits).
    Voila ce que j'ai fais en mode 16 bits (ça fonctionne):

    Code:
    int main (void)
    {
    	RCONbits.SWDTEN = 0;
    
    		asm volatile ("mov #OSCCON,w1 \n"
    				"mov #0x46, w2 \n"
    				"mov #0x57, w3 \n"
    				"mov.b w2,[w1] \n"
    				"mov.b w3,[w1] \n"
    				"bclr OSCCON, #6":::"w1","w2","w3");
    
    		//RP21 = OC1
    		RPOR10bits.RP21R = OC1_IO;
    
    		//RP21 = OC2
    		//RPOR10bits.RP21R = OC2_IO;
    
    		asm volatile ("mov #OSCCON,w1 \n"
    				"mov #0x46, w2 \n"
    				"mov #0x57, w3 \n"
    				"mov.b w2,[w1] \n"
    				"mov.b w3,[w1] \n"
    				"bset OSCCON, #6":::"w1","w2","w3");
    
    	OC1CON1bits.OCM		= 0;
    	OC1R				= 0x7FFF;
    	OC1RS				= 0x7FFF;
    
    	OC1CON1bits.OCTSEL	= 0;
    	OC1CON1bits.OCM		= 0x6;
    
    	PR2					= 0xFFFF;
    	IFS0bits.T2IF		= 0;
    	IEC0bits.T2IE		= 1;
    
    	T2CONbits.TCKPS		= 3;
    	T2CONbits.TON		= 1;
    	while(1)
    	{
    		Idle();
    	}
    
    	return 0;
    }
    
    void __attribute__ ((__interrupt__, no_auto_psv)) _T2Interrupt(void)
    {
    	IFS0bits.T2IF = 0;
    
    }
    Mais en mode 32 bits, a priori, on travaille par paire, Timer2 et Timer3 et OC1 et OC2. Avez vous déjà fais cela?
    Merci d'avance pour vos conseils!
    Bonne soirée à tous

    -----

  2. #2
    RISC

    Re : [PIC24F] - Output compare en mode 32 bits

    Salut,

    As-tu lu le family PIC24F reference manual section 35 qui décrit le mode 32 bits en cascade ?

    Une autre solution serait d'utiliser le TIMER1 si tu as un quartz 32kHz sur ton micro.

    a+

Discussions similaires

  1. Initialisation afficheur LCD mode 4 bits
    Par juju_du_26 dans le forum Électronique
    Réponses: 16
    Dernier message: 25/03/2015, 21h51
  2. LCD_16x1 en mode quatre bits
    Par LABTOOL48 dans le forum Électronique
    Réponses: 4
    Dernier message: 07/04/2010, 00h32
  3. [C] - Passage de mots de n bits en mode de 8 bits
    Par jorg1n dans le forum Électronique
    Réponses: 17
    Dernier message: 30/07/2009, 10h02
  4. afficheur LCD 2*16/mode 4-bits
    Par omar.STE dans le forum Électronique
    Réponses: 12
    Dernier message: 03/09/2008, 18h01
  5. Conflit CCP1 & CCP2 en mode Compare
    Par HULK28 dans le forum Électronique
    Réponses: 3
    Dernier message: 03/12/2006, 21h55
Découvrez nos comparatifs produits sur l'informatique et les technologies.