forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-06-06 b39a40b0191e0a8b155db74e885ff66e17b91896
README.md
@@ -38,4 +38,62 @@
##2024年5月14日:
1、增加脉冲和报警线处理pulse_and_alarm_line.c.h。
##2024年5月15日:
1、继续脉冲和报警线处理。
1、继续脉冲和报警线处理。
##2024年5月16日:
1、完善脉冲和报警线处理。
2、完善RS485采集处理。
##2024年5月17日:
1、对阀门控制进一步完善。
##2024年5月20日:
1、完善上位机串口接收处理,兼容modbus。
2、完善无线远传串口接收处理。
##2024年5月23日:
1、完善无限远传,增加了上报响应、结束帧、设置秘钥、推送余额的接收处理。
2、完善计费报警判断。
##2024年5月24日:
1、修改报警相关处理
##2024年5月28日:
1、修改液晶显示相关处理。
##2024年5月29日:
1、开始上板子测试,发现烧写器无法拉低复位引脚,硬件解决。
2、优化了按键处理,key2和key3不能用中断。
##2024年5月30日:
1、测试并修改上位机串口收发;
2、测试并修改了液晶显示;
3、测试并修改电池采集;
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、增加了历史记录的存储;