Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

copier entrée sur sortie



  1. #1
    ABN84

    Arrow copier entrée sur sortie


    ------

    bonsoir,
    d'apres vous ce code est-il fonctionnel:
    Code:
    #include 30F4011.h
    
    void main() {
    
      ADPCFG = 0xFFFF;
      LATB = 0;
      TRISB = 1;
      LATC = 0;
      TRISC = 0;
      while(1) {
        if (LATB1)  LATC1=1;
        if (LATB2)  LATC1=1;
        if (LATB3)  LATC1=1;
        if (LATB4)  LATC1=1;
      }
    }
    merci

    PS: il s'ajit de dspic

    -----
    "Engineering is the art of making what you want from what you get"

  2. #2
    ABN84

    Re : copier entrée sur sortie

    du meme genre mais qui servirait cette fois à commander un moteur en PWM à partir de B1:
    Code:
    #include "30f4011.h"
    
    /* Configuration Bit Settings */
    _FOSCSEL(FRC_PLL)
    _FOSC(CSW_FSCM_OFF & FRC_HI_RANGE & OSC2_CLKO)
    _FPOR(PWRT_128)
    _FGS(CODE_PROT_OFF)
    _FBS(BSS_NO_FLASH)
    
    
    void init_PWM()
    {
        /* ~~~~~~~~~~~~~~~~~~~~~~ PWM1 Configuration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */    
        /* PWM1 I/O Control Register register */
        IOCON1bits.PENH      = 1;   /* PWM1H is controlled by PWM module */
        IOCON1bits.PENL      = 1;   /* PWM1L is controlled by PWM module */
        IOCON1bits.PMOD      = 0;   /* Select Complementary Output PWM mode */
    
        /* Load PDC1 register with initial Duty Cycle value */
        PDC1 = 640;                 /* Duty Cycle = PDC2*1.05nsec = 672nsec */
    
        /* Load PDTR1 and ALTDTR2 register with preset dead time value */
        DTR1    = 64;               /* Deadtime setting */
                                    /* Deadtime = DTR1*1.05 = 67.2nsec */
        ALTDTR1 = 64;               /* Deadtime setting */
                                    /* Deadtime = ALTDTR1*1.05 = 67.2nsec */
        /* PHASE1 register */
        PHASE1 = 0;                 /* No phase shift */
    
    
     
        /* Configure PTPER register to produce 400kHz PWM frequency */
        PTPER = 2380;               /* PWM Period @30 MIPS, 2.5usec == 400kHz */
                                    /* Period = PTPER*1.05nsec = 2.499usec
    
        /* PWM Time Base Control Register */
        PTCONbits.PTEN       = 1;   /* Enable the PWM Module */
     
    
    
    }
    
    
    int main()
    {
        init_PWM();
        ADPCFG = 0xFFFF;
        LATB = 0;
        TRISB = 1;
        while(1)
        {
          if (LATB1)  IOCON1bits=1;
    
    }
    inspiré de ceci (CE011)

    PS: merci à RISC pour le lien
    "Engineering is the art of making what you want from what you get"

Sur le même thème :

Discussions similaires

  1. PWM_ Entrée/Sortie
    Par ABN84 dans le forum Électronique
    Réponses: 6
    Dernier message: 05/05/2007, 22h26
  2. pic passer d' entrée en sortie sur une pin
    Par alainav1 dans le forum Électronique
    Réponses: 5
    Dernier message: 06/11/2006, 11h24
  3. entrée et sortie alternativement sur pic 16F84
    Par alainav1 dans le forum Électronique
    Réponses: 6
    Dernier message: 23/10/2006, 17h39
  4. Sortie MP3 sur entrée ampli autoradio
    Par freesbeep dans le forum Électronique
    Réponses: 18
    Dernier message: 20/08/2006, 22h29
  5. Entree/sortie Dv Grillee?..
    Par DEKOTCHA dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 17/02/2006, 11h12
Découvrez nos comparatifs produits sur l'informatique et les technologies.