c语言学的不好,来请教一下大家
这是一个灯条的程序,p07为灯条的负极,正极接了5V。在灯条中间我加了一个开关。我的想法是当开关按下时,灯亮。且语音播报:灯已打开。
不知道如何让语音模块只播报一次。
void main()
{ int key=0;
p07=0;
while(1)
{p23=1;//p23为语音触发端,为0时触发播放语音
if(p07!=0)
{key=1;}
if(key==1)
{p23=0;delay_ms(1000);key=0;}
}
}
现在这个程序会一直播报语音 好像是因为即使第二个if最后写了key=0,但是不能阻止第一个if 又让key=1(因为开关按下p07灯亮)
请问一下大家应该怎么改?