找回密码
 立即注册

微信扫码登录

查看: 393|回复: 2

[PWM] TLSR8258F512ET32 PD2口PWM驱动LED做呼吸无变化

[复制链接]

2

主题

2

回帖

32

积分

英勇黄铜

积分
32
发表于 2025-10-29 17:28:14 | 显示全部楼层 |阅读模式 来自 广东深圳
Information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: TLSR8258F512ET32
驱动SDK版本: tc_ble_sdk-4.0.2.1
我现在用PD2和PC3驱动一个双色LED等,PD2驱动红色,PC3驱动绿色,现在根据客户需要用红色做呼吸模式,但是没有变化,一直显示红色.我做了个从01 --> 500 --> 2000的PWM轮流2秒驱动,但一直红色亮度无变化.相关测试代码如下:

********Test LedRed*************/
        static u32        BreathLedRG_tick = 0;
                if(clock_time_exceed(BreathLedRG_tick,  2 * 1000 * 1000)) //呼吸时间
        {
                BreathLedRG_tick = clock_time();
                if (LedRedPWM == 1)
                {
                        LedRedPWM = 500;

                }else if (LedRedPWM == 500) {
                        LedRedPWM = 2000;

                }else {
                        LedRedPWM = 1;

                }


                 pwm_set_cycle_and_duty(PWM3_ID, 8000, LedRedPWM);

                        blt_soft_timer_init();
                        gpio_set_func(GPIO_PD2, AS_PWM3);
                        pwm_set_clk(CLOCK_SYS_CLOCK_HZ, 800000);
                        pwm_set_interrupt_enable(FLD_IRQ_PWM3_FRAME);
                    pwm_start(FLD_PWM3_EN);

                printf("LedRed --> LedRGR_Flag LedRedPWM =   %02d\r\n",LedRedPWM);
        }


数据打印,显示LedRedPWM数据依据设定有轮流2秒变化.但LED红色亮度没有变化,一直恒亮红色.







0

主题

12

回帖

86

积分

不屈白银

积分
86
发表于 2025-11-13 09:56:16 | 显示全部楼层 来自 上海
你好,原因是pwm_start()传参错误,应该传PWM3_ID

2

主题

2

回帖

32

积分

英勇黄铜

积分
32
 楼主| 发表于 3 天前 | 显示全部楼层 来自 广东深圳
本帖最后由 we_3047244857 于 2025-12-12 10:58 编辑
TL_HXB 发表于 2025-11-13 09:56
你好,原因是pwm_start()传参错误,应该传PWM3_ID

087c26e95fd1547f37b7c74043fcbaee.png

试了,没成功.LED驱动图如下,是共阳输入的,用PWM驱动是否合适?单纯输出高低做闪烁和开关开关没问题。


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

本版积分规则

Telink forum ( 沪ICP备17008231号-1 |沪公网安备31011502403548号 )

GMT+8, 2025-12-15 19:43 , Processed in 0.116697 second(s), 27 queries .

Powered by Discuz! 隐私政策

泰凌微电子版权所有 © 。保留所有权利。 2024

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