天嵌 ARM开发社区

 找回密码
 注册
查看: 2383|回复: 3

蜂鸣器PWM输出问题

[复制链接]
借我你的一生 发表于 2013-5-17 13:09:59 | 显示全部楼层 |阅读模式
天嵌科技的 "PWM-Test" 驱动

                //prescaler = 50
                tcfg0 &= ~S3C2410_TCFG_PRESCALER0_MASK;
                tcfg0 |= (50 - 1);

                //mux = 1/16
                tcfg1 &= ~S3C2410_TCFG1_MUX0_MASK;
                tcfg1 |= S3C2410_TCFG1_MUX0_DIV16;

                __raw_writel(tcfg1, S3C2410_TCFG1);
                __raw_writel(tcfg0, S3C2410_TCFG0);

                clk_p = clk_get(NULL, "pclk");
                pclk  = clk_get_rate(clk_p);
                tcntb  = (pclk/128)/arg;
                tcmpb = tcntb>>1;

                __raw_writel(tcntb, S3C2410_TCNTB(0));
                __raw_writel(tcmpb, S3C2410_TCMPB(0));

我感觉不是 128 啊  我看了mini2440的代码 它是tcnt  = (pclk/50/16)/freq; 这是一个问题.

再就是 PWM输出设置,tcmpb 比较值是周期的一半,单单改变周期,能调节蜂鸣器的响度变化,我有点想不通,
不是高低电平所占的时间都是一半吗,怎么会改变蜂鸣器的响度呢?



亚瑟王 发表于 2013-5-17 14:35:45 | 显示全部楼层
亲,响度的变化本身就是频率的变化。如果要有音色的变化就是脉宽的变化了。
 楼主| 借我你的一生 发表于 2013-5-17 15:03:24 | 显示全部楼层
本帖最后由 借我你的一生 于 2013-5-17 15:34 编辑
亚瑟王 发表于 2013-5-17 14:35
亲,响度的变化本身就是频率的变化。如果要有音色的变化就是脉宽的变化了。

额  那个我想问问  频率怎么变了  是PWM定时周期变化了?Fclk 系统主频是400M整吗?
mugeryang 发表于 2015-12-25 20:46:08 | 显示全部楼层
没说到点子上--板上的蜂鸣器是有源的,它的频率是固定不变的--给电就会叫的。如果是无源的,才需要加驱动和频率的变化。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-17 11:42 , Processed in 1.078125 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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