
就代码而言首先说明两段代码都是对的,后面的只是执行比较快,每次都是最后一行代码所以你看到的总是没有变化,试着把每个变换里加等待1秒就知道了,前面的每次判断有延迟,所以你能看到切换的过程,这两整块代码里都加上等待1秒就完全一样了
单片机可以同时执行两段程序吗?回答是不可。
但是可以“分时”执行多段程序。
采用“中断”方式,可以在执行“主程序”期间,自动转到“中断程序”去,执行完毕后,再转回到主程序。
如果各程序的切换非常快,人的感官区分不出来,就会认为是同时执行多段程序。
如果采用“查询”方式,会比“中断”方式反应慢一些,但是也更灵活一些。
JNB RI, $指令就是对串行口进行查询,可以代替串行口中断。
查询,不宜死盯着一个条件查个没完,没有收到串行数据,就应该去查其它的条件。
合理的进行查询,就能编写出“多任务”的系统。
全局变量和局部变量的区别而已
全局变量:函数体外定义的变量,作用域从定义行到程序结束,若某函数体内有同名局部变量则在该函数中全局变量被屏蔽。
局部变量:函数体内定义的变量,只在本函数中起作用。
第一段main函数中局部变量x=222将全局变量x=567屏蔽。
第二段show函数和main函数中没有定义局部变量x,全局变量x=567起作用(刚把show看错了)。
你这是个相互控制的程序啊!
第一条,在200411接通,200400断开,200409断开以及197811接通情况下,将200401接通,14501就输出且保持。目的使GD运行到位。
第二条,在14501断开,200409断开,200400接通,200414接通,14500断开,13007接通的情况下,14502就输出了。另外在14500断开,13007接通的情况下,接通14509后,14502也一样输出了。目的是GD处于自动运行状态。
第三条自己多看看。
PID你可以把它分开来看,PI是外部input,非映射IO,D是double,占用4个字节;W是word,占用2个字节;
PQD同理可以Q是output。
这两段程序的作用就是对外部IO进行读写。
以上就是关于scratch程序块如果那么和程序块如果那么否则的区别为什么2段程序一个可以不停的切换,另外一个不执行全部的内容,包括:scratch程序块如果那么和程序块如果那么否则的区别为什么2段程序一个可以不停的切换,另外一个不执行、单片机的小问题1、跪求C语言编程高手解答两段程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)