项目场景:在某次keil开发中,使用蜂鸣器时,蜂鸣器一直鸣叫。
问题描述
当在主函数的while(1)中运行时,蜂鸣器一直鸣叫。
void main()
{
//只有开机时候有效
while(Beep_N_Times--)
{
P0 = 0x40;//将蜂鸣器打开
P2 = P2 & 0x1F | 0xA0; // 0x80,选通Y5,也就是外设的锁存器,将数据透传过去
P2 &= 0x1F; //将打开的锁存器关闭,使任何一个锁存器都不打开
ms_Tick_Point=ms_Tick;
while((ms_Tick-ms_Tick_Point)
Beep_N_Times--;
P0 = 0x40;//将蜂鸣器打开
P2 = P2 & 0x1F | 0xA0; // 0x80,选通Y5,也就是外设的锁存器,将数据透传过去
P2 &= 0x1F; //将打开的锁存器关闭,使任何一个锁存器都不打开
ms_Tick_Point=ms_Tick;
while((ms_Tick-ms_Tick_Point)
Beep_N_Times--
P0 = 0x40;//将蜂鸣器打开
P2 = P2 & 0x1F | 0xA0; // 0x80,选通Y5,也就是外设的锁存器,将数据透传过去
P2 &= 0x1F; //将打开的锁存器关闭,使任何一个锁存器都不打开
ms_Tick_Point=ms_Tick;
while((ms_Tick-ms_Tick_Point)
Beep_N_Times--
P0 = 0x40;//将蜂鸣器打开
P2 = P2 & 0x1F | 0xA0; // 0x80,选通Y5,也就是外设的锁存器,将数据透传过去
P2 &= 0x1F; //将打开的锁存器关闭,使任何一个锁存器都不打开
ms_Tick_Point=ms_Tick;
while((ms_Tick-ms_Tick_Point) |