Q156899579 发表于 2024-1-9 16:18:19

现在是P1.6控制不了,P1.7没问题了

现在是P1.6控制不了,P1.7没问题了。
P1.6总是低电平


Snapdragon 发表于 2024-1-11 13:44:21

你初始化了没,贴代码

Q156899579 发表于 2024-1-13 21:17:31

Snapdragon 发表于 2024-1-11 13:44
你初始化了没,贴代码


          P0M0 |= 0xff;               //强输出BF 1011 1111       87 1000 0111       
          P1M0= 0xff;               //强输出 P1M0= 0xbf;       P1.6
          P2M0 |= 0xff;                     //强输出 高4位驱动,低4位遥控输入          
          P3M0 |= 0xff;               //强输出 0100 0000   //
          P4M0 |= 0xff;               //强输出

void        PWM_config(void)
{

        P_SW2 |=0x80;                        // 访问XFR

        PWM2T1 = 0;        // 第一个翻转匹配点
        PWM3T1 = 0;        // 第一个翻转匹配点
        PWM4T1 = 0;        // 第一个翻转匹配点
        PWM5T1 = 0;        // 第一个翻转匹配点
//        PWM6T1 = 0;        // 第一个翻转匹配点
//        PWM7T1 = 0;        // 第一个翻转匹配点

        PWM2T2 = 200;        // 第二个翻转匹配点
        PWM3T2 = 400;        // 第二个翻转匹配点
        PWM4T2 = 600;        // 第二个翻转匹配点
        PWM5T2 = 800;        // 第二个翻转匹配点
//        PWM6T2 = 1000;        // 第二个翻转匹配点
//        PWM7T2 = 1200;        // 第二个翻转匹配点

                //        PWMxCR;        //7位 6位 5位 4位      3位      2位            1位               0位
                                        // -   -   -   -    管脚选择允许PWMx中断允许T2匹配时中断允许T1匹配时中断
        PWM2CR = PWM2_P37;        //PWM2_P37 PWM2_P27
        PWM3CR = PWM3_P21;        //PWM3_P21 PWM3_P45
        PWM4CR = PWM4_P22;        //PWM4_P22 PWM4_P44
        PWM5CR = PWM5_P23;        //PWM5_P23 PWM5_P42
//        PWM6CR = PWM6_P07;        //PWM6_P16 PWM6_P07
//        PWM7CR = PWM7_P06;        //PWM7_P17 PWM7_P06

        PWMCFG = 0x00;        //7位    6位                5位    4位    3位    2位    1位    0位
                                        //置01-计数器归零触发ADC C7INIC6INIC5INIC4INIC3INIC2INI
                                        //   0-归零时不触发ADC       (值为1时上电初始高电平,为0低电平)

        P37 = 0;
        P3n_push_pull(1<<7);        //IO设置为推挽输出, 上电时为高阻
        P21 = 0;
        P2n_push_pull(1<<1);        //IO设置为推挽输出, 上电时为高阻
        P22 = 0;
        P2n_push_pull(1<<2);        //IO设置为推挽输出, 上电时为高阻
        P23 = 0;
        P2n_push_pull(1<<3);        //IO设置为推挽输出, 上电时为高阻
//        P06 = 1;                                //停止PWM时输出高电平
//        P0n_push_pull(1<<6);        //IO设置为推挽输出, 上电时为高阻
//        P07 = 0;                                //停止PWM时输出低电平
//        P0n_push_pull(1<<7);        //IO设置为推挽输出, 上电时为高阻

        PWMCKS = 0x00;        //7位6位5位    4位             3位    2位    1位    0位
                                        //   置0    0-系统时钟分频          分频参数设定
                                        //          1-定时器2溢出       时钟=系统时钟/(+1)

        PWMIF = 0x00;        //7位    6位                5位    4位    3位    2位    1位    0位
                                        //置0计数器归零中断标志            相应PWM端口中断标志

        PWMFDCR = 0x00;        //7位    6位       5位                4位
                                        //置0    置0 外部异常检测开关外部异常时0-无反应 1-高阻状态
                                        //3位             2位               1位                0位
                                        //PWM异常中断比较器与异常的关系   P2.4与异常的关系PWM异常标志

        PWMC = 2000;                // PWM计数器周期

        PWMCR = 0x80+0x0f;        // 7位          6位         5位   4位   3位   2位   1位   0位
                                                //ENPWM         ECBI         ENC7O ENC6O ENC5O ENC4O ENC3O ENC2O
                                                //PWM开关 计数归零中断开关   相应I/O为GPIO模式(0)或PWM模式(1)

//        PWMFDCR = ENFD | FLTFLIO | FDIO;        //PWM失效中断控制,ENFD | FLTFLIO | EFDI | FDCMP | FDIO
}       

Q156899579 发表于 2024-1-13 21:42:50

Snapdragon 发表于 2024-1-11 13:44
你初始化了没,贴代码

P1.6 除了跟 这些寄存器有关外,还跟什么寄存器有关?

Snapdragon 发表于 2024-1-15 03:21:09

Q156899579 发表于 2024-1-13 21:42
P1.6 除了跟 这些寄存器有关外,还跟什么寄存器有关?

加上P1M1 = 0x00;试试?

jwd 发表于 2024-1-15 08:38:50

同意楼上,楼主初始化不全

Q156899579 发表于 2024-1-15 12:07:39

Snapdragon 发表于 2024-1-15 03:21
加上P1M1 = 0x00;试试?

所有的组合都试过了,都不行

Q156899579 发表于 2024-1-15 12:11:22

Q156899579 发表于 2024-1-15 12:07
所有的组合都试过了,都不行

所有的组合都试过了,都不行
同一个端口 ,同样是晶振的端口P1.7就没问题,就p1.6有问题。

Q156899579 发表于 2024-1-15 12:12:37

jwd 发表于 2024-1-15 08:38
同意楼上,楼主初始化不全

所有的组合都试过了,都不行
同一个端口 ,同样是晶振的端口P1.7就没问题,就p1.6有问题。

noonezero 发表于 2024-1-15 13:24:01

推挽输出模式也不行??
页: [1] 2
查看完整版本: 现在是P1.6控制不了,P1.7没问题了