[技术问答] HC32F460输出PWM

[复制链接]
 楼主| lvyunhua 发表于 2023-5-21 22:30 | 显示全部楼层 |阅读模式
请教下HC32F460芯片的PA6脚输出PWM波形如何实现?官方例程看不懂啊。
单片小菜 发表于 2023-5-22 10:20 | 显示全部楼层
需要配合数据手册进行查看的,官方例程应该还好。
loutin 发表于 2023-6-10 09:36 | 显示全部楼层
定时器都可以用来产生 PWM 输出
claretttt 发表于 2023-6-10 10:10 | 显示全部楼层
用定时器产生 pwm 波              
pl202 发表于 2023-6-10 10:48 | 显示全部楼层
输出pwm频率是如何计算的              
 楼主| lvyunhua 发表于 2023-6-10 11:18 | 显示全部楼层

    /* Configuration timera unit 1 base structure */
    stcTimeraInit.enClkDiv = TimeraPclkDiv128;
    stcTimeraInit.enCntMode = TimeraCountModeTriangularWave;
    stcTimeraInit.enCntDir = TimeraCountDirUp;
    stcTimeraInit.enSyncStartupEn = Disable;
    stcTimeraInit.u16PeriodVal = TIMERA_COUNT_OVERFLOW;
    TIMERA_BaseInit(TIMERA_UNIT1, &stcTimeraInit);

    /* Configuration timera unit 1 compare structure */
    stcTimerCompareInit.u16CompareVal = stcTimeraInit.u16PeriodVal * 4u / 5u;
    stcTimerCompareInit.enStartCountOutput = TimeraCountStartOutputLow;
    stcTimerCompareInit.enStopCountOutput = TimeraCountStopOutputLow;
    stcTimerCompareInit.enCompareMatchOutput = TimeraCompareMatchOutputReverse;
    stcTimerCompareInit.enPeriodMatchOutput = TimeraPeriodMatchOutputKeep;
    stcTimerCompareInit.enSpecifyOutput = TimeraSpecifyOutputInvalid;
    stcTimerCompareInit.enCacheEn = Enable;
    stcTimerCompareInit.enTriangularTroughTransEn = Enable;
    stcTimerCompareInit.enTriangularCrestTransEn = Disable;
    stcTimerCompareInit.u16CompareCacheVal = stcTimerCompareInit.u16CompareVal;


这是官方的例程,TIMERA时钟是多少呢,如何知道PWM输出的周期和占空比呢?
loutin 发表于 2023-6-10 11:47 | 显示全部楼层
定时器实现PWM不好用吗              
 楼主| lvyunhua 发表于 2023-6-10 11:49 | 显示全部楼层
定时器实现PWM不好用吗


没有说不好用,只是想知道PWM输出的波形周期和占空比是如何计算的
macpherson 发表于 2023-6-10 12:06 | 显示全部楼层
这个官网提供了例程了吧。              
everyrobin 发表于 2023-6-10 13:02 | 显示全部楼层
可以用一个定时器实现              
hearstnorman323 发表于 2023-6-10 13:11 | 显示全部楼层
用普通I/O口采用软件定时器中断可以模拟PWM输出
jtracy3 发表于 2023-6-10 13:28 | 显示全部楼层
如何在每周期修改pwm占空比              
tabmone 发表于 2023-6-10 13:38 | 显示全部楼层
如何让HC32F460产生多路输出 PWM
jimmhu 发表于 2023-6-10 13:42 | 显示全部楼层
精确占空比与频率的调整吗              
 楼主| lvyunhua 发表于 2023-6-10 14:39 | 显示全部楼层
精确占空比与频率的调整吗

是的 ,如何调整了
chenqianqian 发表于 2023-6-11 15:36 来自手机 | 显示全部楼层
PWM就是配置定时计数值就OK了呀
 楼主| lvyunhua 发表于 2023-6-11 18:46 | 显示全部楼层
PWM就是配置定时计数值就OK了呀


计数值如何算周期呢?
hfbuhun 发表于 2023-6-14 19:05 | 显示全部楼层
timera时钟默认挂在PCLK1上,可以通过相关接口获取频率。PWM周期由设置的u16PeriodVal决定,占空比由u16CompareVal决定。
 楼主| lvyunhua 发表于 2023-6-16 07:55 | 显示全部楼层
我使用的HC32F460KETA芯片,用PA06输出PWM波形,参考例程配置如下所示

38829648ba43512d02.png

13428648ba4be59f2d.png

17457648ba5030992b.png
 楼主| lvyunhua 发表于 2023-6-16 09:50 | 显示全部楼层
我按照例程配置没有输出PWM,如上所述,是哪里有问题呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:工程师是科学家,工程师是艺术家,工程师也是思想家。

2835

主题

8339

帖子

27

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