From 08b3909c40a192778719c6262bbee4745682948d Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Fri, 31 May 2024 19:15:47 +0800
Subject: [PATCH] 测试和修改了一些功能bug

---
 README.md |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/README.md b/README.md
index 63d1786..82e82a5 100644
--- a/README.md
+++ b/README.md
@@ -61,4 +61,22 @@
 1、测试并修改上位机串口收发;
 2、测试并修改了液晶显示;
 3、测试并修改电池采集;
-4、开始测试阀控,有问题。
\ No newline at end of file
+4、开始测试阀控,有问题。
+##2024年5月31日:
+1、继续测试法阀门,发现和解决问题如下:
+①、开关阀启动瞬间会进入2次中断,但是判断引脚电平无效,
+解决办法:在循环中,开关阀进行中读取阀门状态,如果已经达到指定状态,则结束。
+②、关阀中继续操作关阀,则会重新触发关阀驱动,又会立即触发开阀到位中断,且判断引脚有效(因为此时阀门开到位状态),则会停止阀门驱动,但是阀门仍处于关阀进程中,因为先触发中断,再置位阀门关中。
+解决办法:关阀执行的条件加一条阀门不在关阀中。
+③、开关阀驱动打开之后,立即打开了中断,但是此时门状态还没有置位开或者关进行中,但是先触发了中断,中断中把阀门状态置位了,但是又执行了阀门状态置开或者关进行中,逻辑混乱了。
+解决办法:中断在阀门状态置位开或者关进行中之后再打开。并延迟几十ms,防止开关阀驱动瞬间触发中断。
+④、不管开阀还是关阀,都会触发开阀到位中断。
+解决办法:开阀时只开启开到位中断,关闭关到位中断;关阀同理。
+⑤、首次开阀瞬间就会触发开到位信号,但是等到实际开到位的时候不再触发开到位中断了,按关阀也是同样触发了开到位中断。  原因是同一组中断线,是无法区分哪个引脚的,比如PB6和PB7是同一组,触发时不知道是6还是7触发的。
+解决办法:同一组触发线不能同时判断,需要做条件判断,比如开阀进行中,只判断开阀到位中断,不判断关阀到位中断。
+⑥、首次开关阀没有通过中断识别到进行关阀驱动。后续继续开关阀就能识别到中断了。原因:因为到位信号PB6和PB7是同一个中断,不能开启一个关闭另外一个。
+解决办法:开阀中只开启开到位置中断,不用关闭关到位中断,关阀中同理。
+2、开始测试RS485采集,发现和解决问题如下:
+①、发送数据死循环,原因:  发送时uart号给错了。
+3、取消报警上报控制结构体,共用报警控制结构体;修改了报警控制和报警上报控制的初始化值。
+4、修改了关阀控制字的初始化值。

--
Gitblit v1.9.3