mini2440 test之蜂鸣器

本文详细介绍了在mini2440开发板上进行蜂鸣器驱动的测试过程,涉及了输出控制、延时函数和定时器的应用,通过实例展示了如何使蜂鸣器发出不同频率的声音。
摘要由CSDN通过智能技术生成

 

2蜂鸣器(BEEP)
void Buzzer_Freq_Set( U32 freq )
{
    rGPBCON &= ~3;                //set GPB0 as tout0, pwm output
    rGPBCON |= 2;
        
    rTCFG0 &= ~0xff;
    rTCFG0 |= 15;                 //prescaler = 15+1
    rTCFG1 &= ~0xf;
    rTCFG1 |= 2;             //mux = 1/8
    rTCNTB0 = (PCLK>>7)/freq;
    rTCMPB0 = rTCNTB0>>1;  // 50%
    rTCON &= ~0x1f;
    rTCON |= 0xb;                //disable deadzone, auto-reload, inv-off, update TCNTB0&TCMPB0, start timer 0
    rTCON &= ~2;                //clear manual update bit
}

void Buzzer_Stop( void )
{
    rGPBCON &= ~3;                //set GPB0 as output
    rGPBCON |= 1;
    rGPBDAT &= ~1;
}

//***************************[ BOARD BEEP ]*******************************
void Beep(U32 freq, U32 ms)
{
    Buzzer_Freq_Set( freq ) ;
    Delay( ms ) ;
    Buzzer_Stop() ;
}

/****************************************************************************
【功能说明】蜂鸣器PWM测试
***********************************
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值