0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【先楫半导体HPM6750EVKMINI评估板试用体验】PWM定时器简单应用

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-17 15:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文来源电子发烧友社区,作者:jf_32467263, 帖子地址:https://bbs.elecfans.com/jishu_2287618_1_1.html

三、pwm定时器配置
首先需要重点设定以下参数:
① 重装载RLD寄存器值:该函数有两个重装载值,通常配置reload即可,而ex_reload用于当reload寄存器不够时提供扩展


  1. static inline void pwm_set_reload(PWM_Type *pwm_x,uint8_t ex_reload,uint32_t reload)
复制代码

② 比较值cmp:用于定时器计数时判断计数是否溢出
③ 比较模式mode:用于设定定时器比较模式,有输出比较与输入比较两种
typedef enum pwm_cmp_mode {
pwm_cmp_mode_output_compare = 0, /**< output compare*/
pwm_cmp_mode_input_capture = 1, /**< input compare*/
} pwm_cmp_mode_t;
④ 触发方式更新update_trigger:分为以下四种更新方式:
typedef enum pwm_register_update {
pwm_shadow_register_update_on_shlk = 0, /**< after software set shlk bit of shlk register*/
pwm_shadow_register_update_on_modify = 1, /**<  immediately after the register being modified*/
pwm_shadow_register_update_on_hw_event = 2, /**<  after hardware event assert*/
pwm_shadow_register_update_on_sh_synci = 3, /**< after SHSYNCI assert */
} pwm_shadow_register_update_trigger_t;
官方也给出了一个PWM定时器配置的示例,示例如下
void config_pwm(PWM_Type *ptr, uint8_t pin, uint8_t cmp_index, uint32_t reload, bool cmp_initial_zero, uint8_t hw_event_cmp)
{
pwm_cmp_config_t cmp_config = {0};
pwm_config_t pwm_config = {0};
pwm_stop_counter(ptr);
pwm_get_default_pwm_config(ptr, &pwm_config);//复位默认pwm寄存器配置
pwm_get_default_cmp_config(ptr, &cmp_config);//复位默认比较寄存器配置
pwm_config.enable_output = false;
pwm_config.dead_zone_in_half_cycle = 0;//半周期PWM死区设定
pwm_config.invert_output = false;//反转输出电平设定
pwm_set_reload(ptr, 0, reload);//设置重装载值
pwm_set_start_count(ptr, 0, 0);//设置PWM定时器起始值
//预配置寄存器信息
cmp_config.mode = pwm_cmp_mode_output_compare;//设定PWM定时器比较模式为
cmp_config.cmp = cmp_initial_zero ? 0 : reload + 1;//设定比较值cmp
cmp_config.update_trigger = pwm_shadow_register_update_on_modify;//更新触发方式为立即更新
pwm_config_cmp(ptr, cmp_index, &cmp_config);//PWM配置更新
//更新触发器类型,以便在硬件事件(重新加载)时更新比较值
cmp_config.update_trigger = pwm_shadow_register_update_on_hw_event;
//将pwm配置为cmp驱动的输出
if (status_success != pwm_setup_waveform(ptr, pin, &pwm_config, cmp_index, &cmp_config, 1)) {
printf("failed to setup waveformn");
while(1);
}//pwm_setup_waveform设定输出PWM波形
//配置硬件事件
cmp_config.cmp = reload - 1;
cmp_config.update_trigger = pwm_shadow_register_update_on_hw_event;
pwm_load_cmp_shadow_on_match(ptr, hw_event_cmp, &cmp_config);//设定影子寄存器
}

PWM定时器配置完成后,对定时器中断绑定服务函数及分配相应优先级,并使能开始计数即可完成设定
static inline void pwm_start_counter(PWM_Type *pwm_x)
intc_m_enable_irq_with_priority(irq, priority)
使用时如需更新PWM输出状态即占空比,可使用以下函数进行边沿对齐


  1. pwm_update_raw_cmp_edge_aligned(pwm, pwm_cmp, duty);
复制代码

以上,加之上篇的GPIO与外部中断的介绍,对于MCU的简单应用暂告一段落,GPIO、外部中断、PWM定时器为MCU最基本的功能,对于体验而言还是比较轻松的,配置起来也不是特别繁琐,主要归功于官方所提供的库函数,使用的流程也与传统的MCU类似。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    19160

    浏览量

    404840
  • 先楫半导体
    +关注

    关注

    12

    文章

    290

    浏览量

    3390
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    东西协作·芯向未来|半导体亮相2026成都工博会

    2026年3月11-13日,成都|上海半导体科技有限公司(半导体,HPMicro)携全系
    的头像 发表于 03-16 11:50 496次阅读
    东西协作·芯向未来|<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>亮相2026成都工博会

    【媒体视角】“五高一低” 筑核心,半导体助力具身智能行业新突破

    及嵌入式解决方案核心提供商,上海半导体科技有限公司(半导体、HPMicro)紧跟产业浪潮
    的头像 发表于 01-30 09:51 1663次阅读
    【媒体视角】“五高一低” 筑核心,<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>助力具身智能行业新突破

    CES2026:半导体隆重推出HPM5E3Y,打造机器人运动控制芯片阵容

    新纪元。作为高性能微控制产品及嵌入式解决方案提供商,上海半导体科技有限公司 (
    的头像 发表于 01-08 10:38 1574次阅读
    CES2026:<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>隆重推出<b class='flag-5'>HPM</b>5E3Y,打造机器人运动控制芯片阵容

    方案 | LED车尾灯纯硬件高刷新率解决方案

    上海半导体科技有限公司(半导体,HPMicro)基于国产高性能MCUHPM6P00推出纯
    的头像 发表于 12-30 08:31 805次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>方案 | LED车尾灯纯硬件高刷新率解决方案

    重磅更新 | 半导体HPM_APPS v1.10.1发布

    重磅更新 | 半导体HPM_APPS v1.10.1发布
    的头像 发表于 12-26 08:33 1410次阅读
    重磅更新 | <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b><b class='flag-5'>HPM</b>_APPS v1.10.1发布

    解决方案 | 变频EtherCAT通讯卡+远程IO方案

    半导体推出的基于HPM5E00系列的工业级变频EtherCAT通讯卡及远程IO解决方案,致力于帮助开发者在以
    的头像 发表于 12-12 10:35 575次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>解决方案 | 变频<b class='flag-5'>器</b>EtherCAT通讯卡+远程IO方案

    半导体荣膺“年度优秀AI机器人创新产品奖” | “芯”动力赋能产业升级

    MCU产品——HPM6E8Y,成功斩获“年度优秀AI机器人创新产品奖”。该奖项旨在表彰在机器人领域具有技术突破性与市场影响力的创新成果,此次获奖既是行业对半导体
    的头像 发表于 11-06 17:06 1745次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>荣膺“年度优秀AI机器人创新产品奖” | “芯”动力赋能产业升级

    半导体完成B+轮融资,中移和创投资加持

    2025年9月10日,上海|国产高性能MCU产品及嵌入式解决方案供应商“上海半导体科技有限公司”(
    的头像 发表于 09-11 08:32 1645次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>完成B+轮融资,中移和创投资加持

    上榜福布斯:半导体入选亚洲百家最具潜力企业《Forbes Asia 100 to Watch》

    (微控制)领域的突破性创新及行业发展潜力入选榜单。该榜单聚焦了亚洲地区100家最具创新活力和投资潜力、正在快速崛起的初创企业,半导体榜上有名不仅彰显了企业在工业
    的头像 发表于 08-27 08:33 2317次阅读
    上榜福布斯:<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>入选亚洲百家最具潜力企业《Forbes Asia 100 to Watch》

    半导体高性能MCU入驻立创商城,国产芯势力再添新动能

    半导体(HPMicro)宣布其全系列高性能MCU芯片正式上架立创商城(LCSC),标志着国产高端MCU在供应链渠道与生态服务方面迈上新台阶,国产芯势力再添新动能。
    的头像 发表于 07-31 08:32 1431次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>高性能MCU入驻立创商城,国产芯势力再添新动能

    国产“HPM芯”赋能机器人关节,半导体亮相松山湖IC创新论坛

    。高性能微控制产品及嵌入式解决方案提供商“上海半导体科技有限公司”(
    的头像 发表于 05-14 15:53 1585次阅读
    国产“<b class='flag-5'>HPM</b>芯”赋能机器人关节,<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>亮相松山湖IC创新论坛

    半导体HPM6E8Y:实时控制芯片驱动的机器人关节“芯”时代

    及产品总监费振东带来了一款实时控制芯片驱动——HPM6E8Y。     据费振东介绍,半导体HPM6E8Y系列高性能MCU芯片为机器人关
    发表于 05-13 11:50 1915次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b><b class='flag-5'>HPM</b>6E8Y:<b class='flag-5'>先</b><b class='flag-5'>楫</b>实时控制芯片驱动的机器人关节“芯”时代

    重磅更新 | 半导体HPM_APPS v1.9.0发布

    重磅更新 | 半导体HPM_APPS v1.9.0发布
    的头像 发表于 05-13 11:29 2066次阅读
    重磅更新 | <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b><b class='flag-5'>HPM</b>_APPS v1.9.0发布

    【强势上新】HPM5E00:EtherCAT运动控制MCU,半导体再拓工业总线产品新版图

    2025年5月6日 上海 |高性能微控制及嵌入式解决方案提供商“上海半导体科技有限公司”(
    发表于 05-07 14:07 1200次阅读
    【强势上新】<b class='flag-5'>HPM</b>5E00:EtherCAT运动控制MCU,<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>再拓工业总线产品新版图

    【强势上新】HPM5E00:EtherCAT运动控制MCU,半导体再拓工业总线产品新版图

    2025年5月6日上海|高性能微控制及嵌入式解决方案提供商“上海半导体科技有限公司”(
    的头像 发表于 05-06 11:09 1634次阅读
    【强势上新】<b class='flag-5'>HPM</b>5E00:EtherCAT运动控制MCU,<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>再拓工业总线产品新版图