forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

edit | blame | history | raw

V0.10.0.0_Beta 20240416

  1. 开始开发103新版本
    2024年4月17日及之前:调文件结构,移植部分周巍修改的参考代码。
    2024年4月18日:
    1、调整extern_rtc读取和设置RTC时间的函数;
    2、调整文件结构,如main.c位置调整,调整工程命名
    3、删除工程内没用到的.c.h文件
    2024年4月19日:
    1、增加RTC秒中断功能;

    2024年4月22日:

    1、增加按键KeyPro();增加按键中断处理。
    2、增加LcdDisplayPro();

    2024年4月23日:

    1、增加上位机upperComPro();内部功能写了接收数据解析和登入帧处理及响应。

    2024年4月24日:

    1、继续完善上位机upperComPro();读写帧做了demo。
    2、添加RS485采集rs485ReadDataPro();仅做了一点点内容。

    2024年4月25日:

    1、继续完善RS485采集rs485ReadDataPro();

    2024年4月26日:

    1、添加阀控valveCtrlPro()一点点功能;

    2024年4月28日:

    1、进一步完善阀控valveCtrlPro();具有普通开关阀、强制开阀等处理逻辑。
    2、添加无线远程通讯WirelessRemoteCommPro()一点点功能;

    2024年4月29日:

    1、完善需要存储的参数定义。

    2024年4月30日:

    1、处理了485、远传的触发启动判断控制。

    2024年5月6日:

    1、添加历史数据记录存储sizhuHistoryRecord();
    2、添加不能休眠情况判断。

    2024年5月9日:

    1、增加电源管理.c文件内容。

    2024年5月11日:

    1、继续完善电源管理。

    2024年5月13日:

    1、继续完善电源管理。

    2024年5月14日:

    1、增加脉冲和报警线处理pulse_and_alarm_line.c.h。

    2024年5月15日:

    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存储空间定义