cauly 发表于 2026-4-22 09:53:29

请问,AI8H2K12U-45I-SOP16芯片有没有PWM7的例程

我现在用PWM7(P3.3),波形怎么都出不来,用PWM1就可以,但是硬件已经做成7了。寄存器配置是这样的,大佬们帮我看看有没有问题

cauly 发表于 2026-4-22 09:53:36

P3M0 |= 0x08;    // 0x18 = 00011000, P3.3设置为推挽输出
    P3M1 &= ~0x08;
   
    // 1. 配置PWM时钟预分频
    // 24MHz主频,预分频24,得到1MHz的PWM时钟
    PWMB_PSCR = 23;       // 预分频值 = 23,实际分频 = 23+1 = 24
   
    // 2. 配置PWM模式
    // 边沿对齐模式,向上计数
    PWMB_CR2 = 0x00;      // 使用默认设置
   
    // 3. 配置PWM1通道1
    // 设置为PWM模式1,通道1输出使能
    PWMB_CCMR3 = 0x60;    // 通道7为PWM模式1(OC7M=110)
    PWMB_CCER1 = 0x01;    // 使能通道7输出(CC7E=1)
   
    // 4. 设置初始占空比和周期
    //PWM2_CCR2 = SERVO_MIN_PULSE;   // 初始脉宽1.5ms
      PWM2_CCR2 = 10000;   // 初始脉宽10000ms
    //PWMB_ARR = PWM_PERIOD;         // 20ms周期
   
    // 5. 启动PWM
    PWMB_ENO = 0x10;    //使能PWM1P端口输出
    PWMB_CR1 |= 0x01;   // 使能计数器(CEN=1)
    PWMB_BKR = 0x80;      // 主输出使能(MOE=1)

cauly 发表于 2026-4-22 10:26:48

更新了一下,但是还是不行
P3M0 |= 0x08;    // 0x18 = 00011000, P3.3设置为推挽输出
    P3M1 &= ~0x08;
          
       
          PWMB_PSCR = 23;       // 预分频值 = 23,实际分频 = 23+1 = 24
       
                PWMB_CCER2 = 0;
          PWMB_CCMR3 = 0x60;    // 通道7为PWM模式1(OC7M=110)
          PWMB_CCER2 = 0x01;    // 使能通道7输出(CC7E=1)
          PWMB_ARR =20000;         // 20ms周期
          PWMB_CCR7 = 10000;   // 初始脉宽10000ms
          // 启动PWM
    PWMB_ENO = 0x10;    //使能PWM7P端口输出
          PWMB_BKR = 0x80;      // 主输出使能(MOE=1)
    PWMB_CR1 |= 0x01;   // 使能计数器(CEN=1)

AI芯 发表于 2026-4-22 10:57:41



用例程测试下

cauly 发表于 2026-4-22 11:20:49

AI芯 发表于 2026-4-22 10:57
用例程测试下

太感谢了,可以了,之前少了个PS配置

cauly 发表于 2026-4-22 11:23:04

AI芯 发表于 2026-4-22 10:57
用例程测试下

另外问一下,这些例程下载入口在哪儿,我自己 找的话怎么才能找到?

AI芯 发表于 2026-4-22 11:37:20

cauly 发表于 2026-4-22 11:23
另外问一下,这些例程下载入口在哪儿,我自己 找的话怎么才能找到?官网:https://www.stcai.com
以及论坛各版块置顶的精华帖


页: [1]
查看完整版本: 请问,AI8H2K12U-45I-SOP16芯片有没有PWM7的例程