From e4424eb6b50d0300583c422dfb71d58e040f4b9e Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Tue, 11 Jun 2024 19:54:37 +0800
Subject: [PATCH] 继续测试优化

---
 README.md |   41 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 40 insertions(+), 1 deletions(-)

diff --git a/README.md b/README.md
index 63d1786..5a99477 100644
--- a/README.md
+++ b/README.md
@@ -61,4 +61,43 @@
 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、修改了关阀控制字的初始化值。
+##2024年6月3日:
+1、测试关阀借电功能,正常。
+2、测试无线远传并修改了一些问题,发现平台下行帧的CRC不是小端。
+##2024年6月4日:
+1、测试无线远传,串口接收出问题,不知道原因。发现要需要开启一下RS485采集,远传才能成功。进一步发现远传只配置了串口,没有配置接收DMA.....
+2、给RS485采集串口增加接受超时中断,用于判断接受数据完成,只有uart0和uart1有接收超时中断。
+3、上位机激活时间没有在秒中断里面--,添加之。
+4、测试EEP操作是,发现debug时复位第一次操作都有问题,但是后续操作正常。另外贴片有问题,改成片选1对应EEP,片选2对应flash。
+5、测试flash,地址看错了导致读取结果看错了,以为有问题,实际测试没问题。
+##2024年6月5日:
+1、测试脉冲检测(暂时跳线到PC5-HWID1),发现初始检测的状态置位有问题,已修改。
+2、增加了日志控制参数的EEP空间定义和外部FLASH存储空间定义
+##2024年6月6日:
+1、增加了日志控制的参数初始化存储与读取;
+2、增加了几个控制字的参数初始化存储与读取;
+3、增加了日志地址宏定义;
+4、增加了历史记录的存储;
+##2024年6月7日:
+1、增加报警记录的存储函数;
+2、增加阀控事件记录的存储函数;
+3、修改阀门命令函数,增加阀控来源,阀控来源增加强开。

--
Gitblit v1.9.3