首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

作串口控制,程序中怎样跳出while()循环下的switch,但又不中止程序

2013-03-26 
做串口控制,程序中怎样跳出while()循环下的switch,但又不中止程序?从串口发送两个指令,让蜂鸣器以不同频率

做串口控制,程序中怎样跳出while()循环下的switch,但又不中止程序?
从串口发送两个指令,让蜂鸣器以不同频率交替发声一定时间。下面是while循环:
while(1)                          //等待中断 
{
   switch (RxValue)        //RxValue为接收数据缓存
    {
     case 0x01:
                    PTCON &=~(1<<15);    
                    PTPER=17279;          
                    PDC1= 8639;            ////频率改为100HZ,占空比改为50%
                    PTCON |=1<<15;
                    delay_ms(5000);       //延时5000
  
                   PTCON &=~(1<<15);    
                   PTPER=3455;               
                   PDC1= 863;                //频率改为100HZ,占空比改为50%
                   PTCON |=1<<15;
                   delay_ms(5000);         //延时5000
                  break;
     case 0x02:
                    PTCON &=~(1<<15);    
                    PTPER=17279;          
                    PDC1= 8639;            //频率改为100HZ,占空比改为50%
                    PTCON |=1<<15;
                    delay_ms(10000);       //延时10000
  
                   PTCON &=~(1<<15);     
                   PTPER=3455;               
                   PDC1= 863;                ////频率改为100HZ,占空比改为50%


                   PTCON |=1<<15;
                   delay_ms(15000);         //延时15000
                  break;
     }
}  
发送case 01的指令后,break停止不了蜂鸣器 一直在响,没法发送case 02的指令,用return就把程序全关了也不行。求助!
[解决办法]
定标志位 goto跳转
[解决办法]
你的程序中没有处理串口接收数据的代码啊?

热点排行