1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標(biāo)題: 請(qǐng)問一下,為什么我開啟PWM1H、L和PWM2H、L,然后PWM3不能當(dāng)普通IO使用... [打印本頁]

作者: 大力做大力愛    時(shí)間: 2019-12-12 14:43
標(biāo)題: 請(qǐng)問一下,為什么我開啟PWM1H、L和PWM2H、L,然后PWM3不能當(dāng)普通IO使用...
我用的單片機(jī)是PIC33EP64GS502,然后我PWM1 和PWM2 也就是我的RA3、RA4、RB13、RB14都復(fù)用成PWM功能了,但是我PWM3的端口,也就是RB12、11我接的是按鍵,不開啟PWM的時(shí)候,按鍵可以正常,開啟PWM以后,按鍵就失效了,一直被拉低,請(qǐng)問這是PIC單片機(jī)的通性嗎,還是說我配置的不對(duì)?附上我的代碼
[code]//互補(bǔ)PWM初始化,
void PWM_driver_init( void )
{
    //PWM1 INIT
    //解鎖FCLCON 和 IOCON寄存器
    asm volatile ("mov #0xabcd,w10");
    asm volatile ("mov #0x4321,w11");
    asm volatile ("mov #0x0003,w0");//禁止故障輸入
    asm volatile ("mov w10, PWMKEY");
    asm volatile ("mov w11, PWMKEY");
    asm volatile ("mov w0,FCLCON1");
    asm volatile ("mov #0xabcd,w10");
    asm volatile ("mov #0x4321,w11");
    asm volatile ("mov #0xC000,w0");//互補(bǔ)模式,pwm模塊控制pwm
    asm volatile ("mov w10, PWMKEY");
    asm volatile ("mov w11, PWMKEY");
    asm volatile ("mov w0,IOCON1");
    ACLKCONbits.FRCSEL = 1; /* FRC is input to Auxiliary PLL */
    ACLKCONbits.SELACLK = 1; /* Auxiliary Oscillator provides the clock source*/
    ACLKCONbits.APSTSCLR = 7; /* Divide Auxiliary clock by 1 */
    ACLKCONbits.ENAPLL = 1; /* Enable Auxiliary PLL */
    while(ACLKCONbits.APLLCK != 1); /* Wait for Auxiliary PLL to Lock */
    PTPER = 3205;   //周期         
    DTR1    = 50;   //死區(qū)
    ALTDTR1 = 50;   //死區(qū)
   
    TRGCON1bits.TRGDIV  = 2;        // Trigger interrupt generated every 2 PWM cycles
    TRGCON1bits.TRGSTRT = 0;        // Trigger generated after waiting 0 PWM cycles
   
    LEBCON1bits.PHR      = 1;

    PDC1 = 1500;   //占空比
    TRIG1 = 1300;                     // Set Initial Trigger location
   
    //PWM2 INIT
    //解鎖FCLCON 和 IOCON寄存器
    asm volatile ("mov #0xabcd,w10");
    asm volatile ("mov #0x4321,w11");
    asm volatile ("mov #0x0003,w0");//禁止故障輸入
    asm volatile ("mov w10, PWMKEY");
    asm volatile ("mov w11, PWMKEY");
    asm volatile ("mov w0,FCLCON2");
    asm volatile ("mov #0xabcd,w10");
    asm volatile ("mov #0x4321,w11");
    asm volatile ("mov #0xC000,w0");//互補(bǔ)模式,pwm模塊控制pwm
    asm volatile ("mov w10, PWMKEY");
    asm volatile ("mov w11, PWMKEY");
    asm volatile ("mov w0,IOCON2");
    DTR2    = 70;   //死區(qū)
    ALTDTR2 = 40;   //死區(qū)
   
    TRGCON2bits.TRGDIV = 2;
    TRGCON2bits.TRGSTRT = 0;
   
    LEBCON2bits.PHR      = 1;
   
    PDC2 = 410;   //占空比
    TRIG2 = 0;                     // Set Initial Trigger location
   
    PTCONbits.PTEN = 1;




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1