5059|6

2934

帖子

4

TA的资源

五彩晶圆(中级)

楼主
 

GD32的引脚PWM输出停止后电平问题 [复制链接]

我用GD32F103Cxx的单片机,我开启了单片机提供的PWM功能,初始化后启动输出可以正常输出波形,但是有一个问题无法解决:

就是当timer_disable(TIMER2);执行后,就会保持PWM输出时的状态,我过是高就保持为高,如果为低保持为低。无论引脚设置为GPIO_MODE_AF_PP或GPIO_MODE_AF_OD都没有办法固定为一种状态。我希望在PWM停止后停留在一个固定状态,不论停止时是何种输出状态。

   /* TIMER3 configuration: generate PWM signals with different duty cycles:
       TIMER3CLK = SystemCoreClock / 108 = 1MHz */
    timer_oc_parameter_struct timer_ocintpara;
    timer_parameter_struct timer_initpara;

    rcu_periph_clock_enable(RCU_TIMER3);
    timer_deinit(TIMER3);

    /* TIMER3 configuration */
    timer_initpara.prescaler         = 72-1;
    timer_initpara.alignedmode       = TIMER_COUNTER_EDGE;
    timer_initpara.counterdirection  = TIMER_COUNTER_UP;
    timer_initpara.period            = 1000;
    timer_initpara.clockdivision     = TIMER_CKDIV_DIV4;
    timer_initpara.repetitioncounter = 0;
    timer_init(TIMER3,&timer_initpara);

     /* CH0 configuration in PWM mode */
    timer_ocintpara.outputstate  = TIMER_CCX_ENABLE;
    timer_ocintpara.outputnstate = TIMER_CCXN_DISABLE;
    timer_ocintpara.ocpolarity   = TIMER_OC_POLARITY_HIGH;
    timer_ocintpara.ocnpolarity  = TIMER_OCN_POLARITY_HIGH;
    timer_ocintpara.ocidlestate  = TIMER_OC_IDLE_STATE_LOW;
    timer_ocintpara.ocnidlestate = TIMER_OCN_IDLE_STATE_LOW;
    timer_channel_output_config(TIMER3,TIMER_CH_0,&timer_ocintpara);

    timer_channel_output_pulse_value_config(TIMER3,TIMER_CH_0,500);
    timer_channel_output_mode_config(TIMER3,TIMER_CH_0,TIMER_OC_MODE_PWM0);
    timer_channel_output_shadow_config(TIMER3,TIMER_CH_0,TIMER_OC_SHADOW_DISABLE);

    timer_primary_output_config(TIMER3,ENABLE);
    /* auto-reload preload enable */
    timer_auto_reload_shadow_enable(TIMER3);
    timer_enable(TIMER3);

引脚设置

gpio_pin_remap_config(GPIO_TIMER2_PARTIAL_REMAP, ENABLE);
gpio_init(GPIOB, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_5);

 

此帖出自GD32 MCU论坛

最新回复

直接抄TIM_ForcedOC3Config寄存器控制方式看看能不能弄到GD上。   详情 回复 发表于 2022-4-27 22:36
点赞 关注
 

回复
举报

2934

帖子

4

TA的资源

五彩晶圆(中级)

沙发
 

上面初始化的代码错误,里面是TIMER2,不是TIMER3,但是代码是一样的。

此帖出自GD32 MCU论坛
 
 
 

回复

1798

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 

你可以单独在结束里加个赋值语句啊

 

此帖出自GD32 MCU论坛

点评

这种方式我试过了不可以,STM32是使用TIM_ForcedOC3Config函数,GD32的库没有发现类似的函数。  详情 回复 发表于 2022-4-27 17:30
 
 
 

回复

2934

帖子

4

TA的资源

五彩晶圆(中级)

4
 
sint27 发表于 2022-4-27 17:28 你可以单独在结束里加个赋值语句啊  

这种方式我试过了不可以,STM32是使用TIM_ForcedOC3Config函数,GD32的库没有发现类似的函数。

此帖出自GD32 MCU论坛
 
 
 

回复

7608

帖子

2

TA的资源

五彩晶圆(高级)

5
 
bigbat 发表于 2022-4-27 17:30 这种方式我试过了不可以,STM32是使用TIM_ForcedOC3Config函数,GD32的库没有发现类似的函数。

直接抄TIM_ForcedOC3Config寄存器控制方式看看能不能弄到GD上。

此帖出自GD32 MCU论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

2934

帖子

4

TA的资源

五彩晶圆(中级)

6
 

也可能是我使用错误,可能不是使用timer_disable函数,可能是通过停止通道来停止pwm输出,但是我无法知道是哪一个函数

此帖出自GD32 MCU论坛
 
 
 

回复

2934

帖子

4

TA的资源

五彩晶圆(中级)

7
 

我通过查询gd32库源码,发现timer_channel_output_mode_config函数,可以完成设置,但是这是一个配置函数,

timer_channel_output_mode_config(TIMER2,TIMER_CH_1,TIMER_OC_MODE_PWM0);

timer_enable(TIMER2);

 

timer_disable(TIMER2);

 timer_channel_output_mode_config(TIMER2,TIMER_CH_1,TIMER_OC_MODE_LOW);

我是用的timer_disable(TIMER2);函数是把整个定时器停掉,而不是只停一个通道

此帖出自GD32 MCU论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
天线 基本概念

完全天线手册基本概念--------------------------------------------------------------------------------天线是FMDX的耳朵,微 ...

电感器、变压器检测方法与经验

三、电感器、变压器检测方法与经验??1?色码电感器的的检测??将万用表置于R×1挡,红、黑表笔各接色码电感器的任一引出端,此时指 ...

实现第二步: 自己DIY一个廉价的C8051编程器并成功读写湿度计开发板

昨天用洞洞板按照我前面帖子提供的图纸焊接出一个并口C8051编程器。 今天一早插到PC机上,运行编程器文件(前面帖子附件可下 ...

留住身边的美景,2015年春天

本帖最后由 mmmllb 于 2015-4-9 12:28 编辑 不知道说现在是春天是否合适:Sweat:,先这么叫着。 话说最近各路的花都开了,有 ...

7660贴片共模电感生产厂家

7660贴片共模电感生产厂家 东莞颐特电子有限公司是一家专门设计生产各种贴片电感、线圈的制造 ...

颁奖:Microchip有奖问答 | 新品 MCU 独立于内核的外设(CIP)技术解密

【活动详情】Microchip有奖问答 | 新品 MCU 独立于内核的外设(CIP)技术解密 请获奖者务必在2021年9月26日23:59前,按照 ...

GD32L233C-START 开发板 学习笔记(四)

GD32L233C-START 开发板学习笔记(四) GD32L23C-START 开发板 Demo例程 打开GD的例程,有没有满满的熟悉感。 int main ...

异常与中断缘何设计的如此复杂——《RISC-V体系结构编程与实践 》读书笔记

本帖最后由 jobszheng5 于 2023-5-11 15:13 编辑 在ARM公司的RISC指令集Cortex-M3系列MCU中,异常与中断的实现与处理非常简 ...

英飞凌XENSIV™ PAS CO2 5V Sensor2Go套件测评(一)

本帖最后由 eew_4FmF97 于 2024-12-16 01:14 编辑 根据采集各种的环境的数据,形成感知,从而为AI提供决策依据,是智能家居系 ...

求助大佬们

本帖最后由 wang1213322d 于 2025-1-10 16:56 编辑 用了Vishay的环境光传感器VEML33293做了个模块,给电视上应用,客户要求我 ...

关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表