flykate 发表于 2009-3-14 11:19:41

关于两个状态判断,求大虾指点一个思路。

用单片机监视一个串口,一个并口脉冲(高1S低1S)。如果串口和并口都不正常,认为设备工作不正常,其中一个不正常不做处理,都正常不处理。
被监视设备正常时串口不间断的发送信息(19200)和并口一直有脉冲。


我单片机串口用的是中断模式,单片机并口用的是定时器+读管脚方式(1.5S内有高有低认为并口正常)。(8M晶振)

求一个设备工作不正常的判断思路。

在中断里判断,还是在主程序里判断?
-----------------------------------------------------------------------------------------
单片机在判断串口和并口的模式下不做其他的事情,没有其他中断进来。

在串口和并口中断程序里分别置bk和ck标志位为1
在主程序里判断if(ck||bk==0) {...做相关处理...清0ck和bk标志位}

但是好像觉得不大对劲,中间可能出现断档的情况,就是中断还没有置位,但是主程序已经清0了,在循环回来的时候,就直接认为两个都工作不正常了。

-----------------
如果在其中一个中断里先置位,例如在串口中断里吧CK置1,然后判断ck||bk==0,不就是废话了么?而且万一两个口工作都不正常,就不进中断了。。。。
---------------------

flykate 发表于 2009-3-15 19:00:21

还是想不通啊 ~~~~~~~~~~~~~~~ 大虾们 指点 指点~~~~~
页: [1]
查看完整版本: 关于两个状态判断,求大虾指点一个思路。