|
发表于 2025-2-20 19:57:13
|
显示全部楼层
看了你前面的描述,我感觉故障原因正如你所说,就是程序陷入了一个死循环。看起来主程序没问题,比如你不停转电压钮,显示和时间都可以正常运行,此时的循环是:按操作要求,调整电压偏转因数~~~返回显示~~~继续按操作要求~~~再次调整电压偏转因数~~~返回显示,如此反复。这个过程中,程序没有陷入“死循环”。而当你几秒钟不操作,程序就又死了,看上去像是程序在等待什么,一直在那里等待,造成“死机”。
一般程序总是优先响应开关键盘的指令,我总觉得这些地方容易出问题,比如某按键粘连了,程序会认为操作者按下按键了,并会反复查询,直到按键抬起,程序才认为操作者操作完成,再按要求去执行。如果按键坏了,程序就收不到完成操作的信息(比如短路了,按键始终没被抬起),就会反复查询,可能就死循环了。
一般接口上指令会更加优先被执行,所以建议你试试。我对TDS3012也不怎么熟悉,我觉得这个示波器应该有通讯接口吧?就算没有488接口,至少也应该有一个串口?甚至网口?有一个接口就能连计算机。3012的SCPI指令需要查看这个示波器的说明书,上面有非常详细的说明,示波器所有的操作都可以通过接口由计算机来完成。 |
|