您现在的位置:首页 > 技术支持技术支持

dspic33fj128mc804的PWM1波设置影响了uart,求解

发布时间:2020-11-29 06:48:19  来源:大电流电感厂家   查看:
只要一使能PWM1,串口的的输出端就出现2.5us宽的脉冲,频率好像和pwm设置的有关系。
而且pwm波的波形不是很正常,不是正常的方波,一个周期里会有两次低电平,下面图即为波形,不知道问题在哪里。哪位大侠做过的uart接收的数据控制pwm波占空比的

PWM波设置是否有问题

这是pwm波的使能程序
void init_PWM()
{
    P1TPER = 2404;                    /* P1TPER = ((1 / 400kHz) / 1.04ns) = 2404, where 400kHz   //决定PWM波的工作频率
                                        is the desired switching frequency and 1.04ns is PWM resolution. */
    //2404----7khz
    //1204----11.76k

    /*~~~~~~~~~~~~~~~~~~~~~~~ PWM1 Configuration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
    P1TCONbits.PTMOD = 0b00;                          //边沿对起
    P1TCONbits.PTCKPS= 0b00;                          //预分频1:1
    P1TCONbits.PTOPS = 0b00;                          //后分频1:1

    PWM1CON1bits.PEN1H      = 1;                            //使能PWM1H脚
    PWM1CON1bits.PEN1L      = 0;                      //使能PWM1L脚
    PWM1CON1bits.PEN2H      = 1;                            //使能PWM2H脚
    PWM1CON1bits.PEN2L      = 0;                      //使能PWM2L脚
    PWM1CON1bits.PEN3H      = 1;                            //使能PWM3H脚
    PWM1CON1bits.PEN3L      = 0;                      //使能PWM3L脚

    PWM1CON1bits.PMOD1=1;                             //PWM脚处于独立输出模式,0为互补
    PWM1CON1bits.PMOD2=1;                             //PWM脚处于独立输出模式,0为互补
    PWM1CON1bits.PMOD3=1;                             //PWM脚处于独立输出模式,0为互补

    PWM1CON2bits.SEVOPS     = 0;                      //特殊事件后分频为1:1
    PWM1CON2bits.IUE        = 1;                      //立即更新P1DCX
    PWM1CON2bits.OSYNC      = 1;                      //强制输出在下一tcy边沿发生
    PWM1CON2bits.UDIS       = 0;                      //0:允许从占空比和周期缓冲寄存器更新

    P1DC1 = 0;                                       /*占空比设置,P1DC1=P1TPER,50%*/
    P1DC2 = 0;                                       /*占空比设置,P1DC2=P1TPER,50%*/
    P1DC3 = 0;                                       /*占空比设置,P1DC3=P1TPER,50%*/

    _PWM1IE = 1;            //允许PWM中断
    _PWM1IP = 5;            //中断优先级5

    P1TCONbits.PTEN       = 1;                              /* Enable the PWM Module */

///////////////////////////

    P2TCONbits.PTMOD = 0b00;                          //边沿对起
    P2TCONbits.PTCKPS= 0b00;                          //预分频1:1
    P2TCONbits.PTOPS = 0b00;                          //后分频1:1

    PWM2CON1bits.PEN1H      = 1;                            //使能PWM1H脚
    PWM2CON1bits.PEN1L      = 0;                      //使能PWM1L脚
    PWM2CON1bits.PMOD1=1;                             //PWM脚处于独立输出模式,0为互补

    PWM2CON2bits.SEVOPS     = 0;                      //特殊事件后分频为1:1
    PWM2CON2bits.IUE        = 1;                      //立即更新P1DCX
    PWM2CON2bits.OSYNC      = 1;                      //强制输出在下一tcy边沿发生
    PWM2CON2bits.UDIS       = 0;                      //0:允许从占空比和周期缓冲寄存器更新

    P2DC1 = 0;                                       /*占空比设置,P1DC1=P1TPER,50%*/
    _PWM2IE = 1;            //允许PWM中断
    _PWM2IP = 5;            //中断优先级5
   //  P2TCONbits.PTEN       = 1;                              /* Enable the PWM Module */
}

IMG_5939.JPG (111.65 KB, 下载次数: 0)
这是PWM1通道输出的波形

平面变压器厂家 | 平面电感厂家

特别想知道高频变压器有的会有两个中间抽头,特别想知道高频变压器有的会有两个中间抽头,这两个抽头来自哪里,干什么用的,实际电路中怎么接,接在线路中哪里?此帖出自LED专区论坛


这很难说。
开关电源中的变压器都是根据电

[开关电源]电源完整性测试PI(PowerIntegrity),即电源完整性,以前隶属于信号完整性分析专题,但是因为PI足够复杂和关键,现在已经把其单独拿出来作为一个专题去研究。 快速而准确的仿真电源完整性至今仍然是一个待突破的难题。 对于高速数字电路和系统,PI的研究对象是电源分配网络PDN(Power Distribution Network)。 以笔记本电脑为例,AC到DC电源适配器供给计算

熟悉34063的朋友帮忙 找下问题图1图2图1为34063  升压方案  具体参数如上,  VCC  5V输入时,  78L05     输入  为18.9V     输出为    5V  目的是为图2  STM8S003F3P6  供电,    但实际情况是    8s003  VDD  为5V   VCAP脚 电压为零,   正常应该在1.8V 左右。 图2  直接用 电源5V 供电,VCAP 为1.8V  单片机正常

CopyRight2014
大电流电感 | 大功率电感 | 扁平线圈电感 注塑加工厂