应该是关于C语言的一些问题,实在不知道标题怎么写
本帖最后由 zhang13359 于 2020-9-26 17:03 编辑从左到右,如果传感器1检测到车辆,就打开灯123,如果传感器2检测到车辆,就打开灯234,以此类推
可是问题来了,假如一辆车经过传感器6,灯678亮;这时又一辆车经过传感器1,灯就冲突了,想好久也想不明白
理想情况是:灯678亮的时候,如果传感器1检测到车辆,灯123也会亮而且不影响灯678
小白个人想法:这应该是代码上的问题,在我的理解中,C语言代码是从上至下依次运行,这些代码没法并行运行(当然这是我才疏学浅)
有没有大神能指点小弟一二,感激不尽
89c51芯片,是Keil2 写的
自动化实验课? Lananann 发表于 2020-9-26 15:00
自动化实验课?
算是吧,自己找个项目把实物做出来,如果这个解决不了,那就只能换个了 看不到你代码啊,灯怎么会冲突啊,不同的端口控制的灯,代码发出来看看 爱情海玩偶 发表于 2020-9-26 15:12
看不到你代码啊,灯怎么会冲突啊,不同的端口控制的灯,代码发出来看看
就一个框架,KEY是对应的传感器,0就是检测到了,L是灯,0是亮,假如在KEY6为0,同时KEY1为0,就会去运行KEY1了,所以就冲突了
关灯的问题就先忽略
zhang13359 发表于 2020-9-26 15:21
就一个框架,KEY是对应的传感器,0就是检测到了,L是灯,0是亮,假如在KEY6为0,同时KEY1为0,就会去运行 ...
你函数里面都没有while(1),运行一次性程序吗 爱情海玩偶 发表于 2020-9-26 15:39
你函数里面都没有while(1),运行一次性程序吗
只是方便看,我贴出来的时候删了 用或、与位运算呗,如果有次数限制,增加标记位nCount zhang13359 发表于 2020-9-26 15:47
只是方便看,我贴出来的时候删了
都不全,看一部分代码。我还以为你while(1)都没有。最快找问题就是把代码贴出来找,这样盲人摸象一样。目前这部分代码看起来是没有问题。 这个用其它编程的话是多线程解决这个问题