OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 107|回复: 1

输出指定个数pwm与互补输出 一起应用时,初始化的问题

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2024-1-6
在线时间
3 小时
发表于 2025-2-1 12:28:54 | 显示全部楼层 |阅读模式
1金钱
用F103高级定时器TIM8,在应用中通过按键中断,分别实现指定个数PWM和互补输出PWM,exti.c源码如下:

烧录后,上电后,第一次输出的是指定PWM后,再按键选择互补输出时,无输出。如果第一次输出的是互补输出后,再按键选择指定PWM,无输出,请问是它们初始化有冲突吗,怎么解决?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2024-1-6
在线时间
3 小时
 楼主| 发表于 2025-2-1 12:40:56 | 显示全部楼层
        case KEY3_INT_GPIO_PIN:
            if (KEY3 == 0 && presstime1 == 0 && presstime3 == 0)
            {
                    lcd_show_chinese(85, 80, 25, 24,WHITE); /* 开 */
                    lcd_show_chinese(110, 80, 26, 24,WHITE); /* 启 */
                 
                    atim_timx_npwm_chy_init(5 - 1, 7200 - 1);            /* 10Khz的计数频率,2khz的PWM频率. */

                    ATIM_TIMX_NPWM_CHY1_CCRX = 2; /* 设置PWM占空比,40%*/

                    atim_timx_npwm_chy_set(5);      /* 输出1个PWM波(控制LED2(BLUE)闪烁5次) */
                    presstime3 = 1;
            }
            else if (KEY3 == 0 && presstime1 == 1 && presstime3 == 0)
            {
                    lcd_show_chinese(85, 80, 25, 24,WHITE); /* 开 */
                    lcd_show_chinese(110, 80, 26, 24,WHITE); /* 启 */
                    atim_timx_cplm_pwm_init(1000 - 1, 72 - 1);/* 1Mhz的计数频率 1Khz的周期. */
                    atim_timx_cplm_pwm_set(500, deadtime);          /* 占空比:50%, 死区时间 100 * tDTS=100*1s/18000000=100*55.56ns */
                    presstime3 = 1;
            }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-22 21:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表