| | | | | 两个IO口驱动蜂鸣器,那应该是两支引脚的波形,两个通道测试再相加或相减的图象才对呀!
|
|
|
|
| | | | | | | 振幅是6.6V了 也就是两倍的VCC 这个怎么做到的?比如IO口B3是给高3.3V B2给低也就是0V 交替给电平 反相 也就是0-3.3V啊 要有一个是-3.3V 3.3-(-3.3) 才能到6.6V啊!
|
|
|
| | | | | | | 这是参考产品压电无源蜂鸣器的驱动波形和自己产品压电无源蜂鸣器驱动波形 这是软件的延时搞得不对吗?
|
|
|
| | | | | | | | | 你的频率也太低了吧!蜂鸣器规格书上是4.8KHZ ,你才1.88KHZ.蜂鸣器规格是不会乱标的,出厂都会测试响度的。 |
|
|
| | | | | | | | | | | 那就是频率不对造成得咯?代码我明天叫他发出来 我是搞硬件的
|
|
|
| | | | | | | | | | | void Beep(int iNum)
{
int i, j;
DrvGPIO_PT9_EnableOUTPUT(0x01);
DrvGPIO_PT9_EnableOUTPUT(0x02);
for(i = 0; i < iNum; i++)
{
for(j = 0; j < 90; j++)
{
DrvGPIO_PT9_SetPortBits(0x01);
DrvGPIO_PT9_ClrPortBits(0x02);
Delay(43);//Delay(125);130
DrvGPIO_PT9_ClrPortBits(0x01);
DrvGPIO_PT9_SetPortBits(0x02);
Delay(43);//Delay(125);130
}
}
// if(iNum > 1)
// Delay(10000);
DrvGPIO_PT9_DisableOUTPUT(0x01);
DrvGPIO_PT9_DisableOUTPUT(0x02);
}
|
|
|
| | | | | | | | | | | | | 为什么要调试呢,就是不理想向理想方向调。程序是对的,只要调短延时,频率变高。
|
|
|
|
| | | | | | | | | | | | | | | | | 你的蜂鸣器是压电式的,这种需要电压高,响度才大。你这种情况要换电磁式的蜂鸣器,声音响度会大些.
|
|
|
|
| | | | | | | 用逻辑分析仪也抓了下波形(因为是方波,不知道选取哪个协议,选的IIC的协议,)波形如图,哪个可以进一步指示,谢谢
|
|
|