forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

wujiazhi
2024-06-13 72def895431ad7a08e635b11f3da738e2b2c4618
README.md
@@ -1,94 +1,34 @@
## 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月29日:
- SZV103项目FM33A0芯片的硬件测试工程
##2024年5月30日:
1、测试并修改上位机串口收发;
2、测试并修改了液晶显示;
3、测试并修改电池采集;
4、开始测试阀控,有问题。
1、SZV103项目stm32f446芯片移植FM33A0XXEV 针对性测试
1、系统稳定测试,led周期循环开关。
##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存储空间定义
1、上电时序。
2、外部时钟配置12M。(通过debug发现未配置成功,原因在于debug获取到的值是内部系统时钟,而不是系统配置后的时钟)
3、添加 SEPIC 输出12v 5v 9v 测试。
##2024年5月03日:
1、添加低功功耗测试。
2、添加液晶显示
##2024年6月04日:
1、添加采集碱电、锂电、MCU温度测试。
2、添加脉冲碱电、锂电掉电测试(PH端不支持中断配置,目前暂时用高低电平判断)。
##2024年5月05日:
1、添加借电测试。
2、添加开盖检测。
3、添加干黄检测。
4.添加断线、脉冲检测。
##2024年6月06日:
1、添加RTC(外部)获取时间测试,
2、硬件测试要求,外部高速晶振和低速时钟起振时间及功耗测试(已知低速晶体上电默认启动)。
##2024年6月07日
1、添加时钟精度检测,从debug状态看(延时1000s)有0.6%的时钟误差。
2、添加RS485上位机测试。
3、添加RS485 modbus通信测试。
##2024年6月11日
1.修复mcu与无线无法通行问题(原因无线模块上电后,立即发送开机命令会导致开机失败,需在无线上电模块稳定后,、
在发送开机命令)。
2.修复碱电,锂电掉电,判断错误。
##2024年6月13日
1.添加低功耗测试模式。