嗨,我用的是dspic33ep32mc204,它有3个pwm输出(总共6个引脚),这个dspic有以下引脚:引脚8:pwm3H/rb10 pin 9:pwm3L/rb11 pin 10:pwm2H/rb12 pin 11:pwm2L/rb13 pin 11:pwm2L/rb13 pin 14:pwm1H/rb14pin 15:pwm1L/rb15I要使用pwm1作为pwm信号,rb10、rb11、rb12、rb13作为I/O端口。下面:无效init_pwm1(){_/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~IOCON1bits.PMOD=0;//选择互补输出PWM模式PWMCON1bit.ITB=1;//PHASE1提供PWM时间周期值PWMCON1bit.CAM=1;//中心对准模式IOCON1bit.SWAP=1;//1=PWMxH输出信号连接到PWMxL管脚;PWMxL输出信号连接到PWMxH管脚PHASE1=PWM1_PERIOD_VALUE;//DTR1=0;//在中心对准模式ALTDTR1=PWM1_DEAD
tiTIME_VALUE;PDC1=PWM1_INITIAL_INITIAL_VALUE;PDC1=PWC1=PWM1=PWM1_PWM1_INITIAL_INITIAL_VALULULU;PTCONCONCON2=0;PTCON2=0;}0;0;}0;0;0;0; RPOR4bits.RP42R=0;//端口B管脚1是数字RPOR4比特,RP43R=0;//端口B管脚1是数字RPOROR4比特,RPOR4比特,RP43R=0;TRISB位0;TRISB比特.TRISB10=0;TRISB(1) {_LATB10=1;_LATB11=1;}我对pwm没有问题(这不是整个代码),I/O端口引脚有问题。当我调用init_pwm1函数并启用pwm时,我不能使用这些引脚(B10和B11)作为I/O引脚,我需要将它们设置为1或0,但我不能。但是我可以使用它们作为I/O(即,我可以设置o)。当我不调用iNITH-pWM1函数时,重新设置它们。这是什么原因呢?