2877|1

565

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

【BLE 5.3无线MCU CH582】6、pwm呼吸灯 [复制链接]

 

系列文章:

【BLE 5.3无线MCU CH582】1、初识CH582开发板(开箱)

【BLE 5.3无线MCU CH582】2、MounRiver IDE初体验

【BLE 5.3无线MCU CH582】3、非阻塞方式点灯

【BLE 5.3无线MCU CH582】4、串口不定长数据接收

【BLE 5.3无线MCU CH582】5、硬件I2C驱动0.96吋OLED

 

1、关于CH582的PWM

CH582除了定时器可以产生pwm之外,还提供了专门的pwm外设,独立于定时器。

2、PWM通道

引脚信息上标有PWMX的即就是pwm通道,从PWM4到PWM11,PWM0到PWM3是定时器的pwm通道。

 

3、代码实现

void PwmInit(void)
{
    GPIOA_ModeCfg( GPIO_Pin_12, GPIO_ModeOut_PP_5mA );    // PA12 - PWM4
    GPIOA_ModeCfg( GPIO_Pin_13, GPIO_ModeOut_PP_5mA );    // PA13 - PWM5

    PWMX_CLKCfg( 2 );                    // cycle = Fsys/2
    PWMX_CycleCfg( PWMX_Cycle_31 );      // 周期 = cycle/31
    PWMX_ACTOUT( CH_PWM4, (UINT8)((31/100.0 )* 10), High_Level, ENABLE );
    PWMX_ACTOUT( CH_PWM5, (UINT8)((31/100.0 )* 10), High_Level, ENABLE );
}


void PwmOut(void)
{
    static uint32_t tick=0;

    static  uint8_t out=0;

    if(SystemGetTick()-tick>100)
    {
        tick=SystemGetTick();

        out=out+5;

        if(out>100)
        {
            out=0;
        }
        PWMX_ACTOUT( CH_PWM4, (UINT8)((31/100.0 )* out), High_Level, ENABLE );
        PWMX_ACTOUT( CH_PWM5, (UINT8)((31/100.0 )* out), High_Level, ENABLE );
    }
}

4、现象

 

   

 

 

最新回复

搞测试的表示一头雾水   详情 回复 发表于 2023-3-18 15:28
点赞 关注
个人签名stm32/LoRa物联网:304350312
 
 

回复
举报

1

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

搞测试的表示一头雾水

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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