问问

wuhulove99 2010-09-10 10:29:53
switch(receive)
case 0x00:{for(k=0;k<20;k++)······
case 0x01:{for(k=0;k<20;k++)······

receive保存从上位机接收到的指令,收到相应指令就执行相应动作,收到00,开始执行后面的for循环,我想问的是:如果fou循环没执行完,就收到了上位机指令01,那有什么办法能让他立即跳出00的fou循环,转去执行01的for循环吗?不用for语句也行,但必须是循环,收到指令要马上能跳出来
请大侠赐教
...全文
87 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
galle 2010-09-10
  • 打赏
  • 举报
回复
要将循环放到外边执行,中断时就可以打断当前的循环了,
可以将k定义成全局变量,接收到新数据时将其改为一个大值,如255(超出FOR循环)
wuhulove99 2010-09-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bluesea87 的回复:]
记得receive要是全局变量,要在中断程序中修改
[/Quote]
就是全局变量,可怎么叫在中断程序中修改啊?我中断程序是接收指令的,指令很多,有几十个把,能说详细些吗?
wuhulove99 2010-09-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 see168 的回复:]
在for循环里加一个if语句判断receive是否等于00,不等就退出。

switch(receive)
case 0x00:
{
for(k=0;k<20;k++)
{
if(receive!='00')
exit
end if
······
}
case 0x01:{for(k=0;k<20;k++)······
[/Quote]
不行啊,你那个exit,end编译器都不识别,便被一不了,是不是缺什么头文件?感觉思路很好
bluesea87 2010-09-10
  • 打赏
  • 举报
回复
记得receive要是全局变量,要在中断程序中修改
丰满 2010-09-10
  • 打赏
  • 举报
回复
在for循环里加一个if语句判断receive是否等于00,不等就退出。

switch(receive)
case 0x00:
{
for(k=0;k<20;k++)
{
if(receive!='00')
break; 用break跳出也可以的
else if

······

}
case 0x01:{for(k=0;k<20;k++)······
青草根儿 2010-09-10
  • 打赏
  • 举报
回复
在for循环里加一个if语句判断receive是否等于00,不等就退出。

switch(receive)
case 0x00:
{
for(k=0;k<20;k++)
{
if(receive!='00')
exit
end if
······
}
case 0x01:{for(k=0;k<20;k++)······


Great_Bug 2010-09-10
  • 打赏
  • 举报
回复
当新的指令收到时,给出一个信号。在循环里面如果检测到这个信号,就立即中止循环,并清除这个信号。
HKCID 2010-09-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuhulove99 的回复:]
引用 1 楼 see168 的回复:
在for循环里加一个if语句判断receive是否等于00,不等就退出。

switch(receive)
case 0x00:
{
for(k=0;k<20;k++)
{
if(receive!='00')
exit
end if
······
}
case 0x01:{for(k=0;k<20;k++)······

不行啊,……
[/Quote]

[Quote=引用 5 楼 wuhulove99 的回复:]
引用 3 楼 bluesea87 的回复:
记得receive要是全局变量,要在中断程序中修改

就是全局变量,可怎么叫在中断程序中修改啊?我中断程序是接收指令的,指令很多,有几十个把,能说详细些吗?
[/Quote]

晕,人家1楼的//exit end if 是用delphi语法做提示,LZ真的照搬了?那用2楼的代码。

"可怎么叫在中断程序中修改"———更晕,3楼都说的再明白不过----在哪个中断接收上位机的指令就在哪里改。如果你给的那段代码就在那个中断里,那要把它搬出来,也不能在那个中断里直接调用。

LZ的理解能力要加强,前面的哥们都给了很明显的提示了,总不能要人家看完你全部的代码然后帮你改吧。

27,383

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧