主题 : 蜂鸣器-大侠们必进 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 39689
精华: 0
发帖: 69
金钱: 350 两
威望: 70 点
综合积分: 138 分
注册时间: 2011-03-11
最后登录: 2012-04-22
楼主  发表于: 2011-05-17 12:56

 蜂鸣器-大侠们必进

我用的mini6410,在做蜂鸣器驱动时,遇到问题,设置好相应的寄存器,但是运行蜂鸣器不响。
蜂鸣器的是由pwm控制的,接在GPF14引脚上的。这是个复用io口,是不是必须用定时器实现啊。求高人赐解啊~~
以下是蜂鸣器初始化程序和运行程序
beep_init()
{

    rGPFCON &= ~(0x2<<28);        //设置GPF14引脚,其中01表示输出,10表示PWM TOUT[0],两种方式都
                                                       试过,都不能运行
    rGPFCON |=(0x0<<0);
    rGPFPUD = (rGPFPUD & ~(0x3<<28))|(0x0<<28);
}
beep_run()
{

    rGPFDAT |= (0x1<<14);
    Delay();
    rGPFDAT &= (0x0<<0);
    Delay();

}
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2011-05-17 13:39
可以参考2440test试试
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 侠客
UID: 39689
精华: 0
发帖: 69
金钱: 350 两
威望: 70 点
综合积分: 138 分
注册时间: 2011-03-11
最后登录: 2012-04-22
2楼  发表于: 2011-05-17 14:39

 回 1楼(mindee) 的帖子

MMU_init()不一样吧?
级别: 侠客
UID: 39247
精华: 2
发帖: 51
金钱: 355 两
威望: 71 点
综合积分: 142 分
注册时间: 2011-03-07
最后登录: 2015-05-31
3楼  发表于: 2011-05-21 21:24
rTCFG0 = rTCFG0 & ~(0xff) | 255;
rTCFG1 = rTCFG1 & ~(0xf) | 0x3;
rTCNTB0 = 30000;
rTCMPB0 = rTCNTB0 >> 4;
楼主,pwm的输出是自动的,不是由你控制的,明白吗?真的不懂,先找资料看一下吧!