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

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

2012-08-22 
做串口控制,程序中怎样跳出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跳转
[解决办法]
你的程序中没有处理串口接收数据的代码啊?

热点排行