spi读取速度过慢

This commit is contained in:
起床就犯困 2025-01-10 11:43:43 +08:00
parent 2b428a8e35
commit 3ee2cccf2d
6 changed files with 117 additions and 38 deletions

View File

@ -6,6 +6,7 @@
#include "pDebug.h"
#include "parameter.h"
#include "FM_TIM.h"
#include "inFlash.h"
void startInfo(void)
@ -63,6 +64,12 @@ void start(void)
startInfo();
// HAL_Delay(5000);
// while (1) {
// cfgTest();
// HAL_Delay(1000);
// }
TimeSliceOffset_Start();
}

View File

@ -5,6 +5,9 @@
#include "FM_TIM.h"
#include "comm_types.h"
#define PI_CONTROL_MAX 0.1f
#define PI_CONTROL_MIN -0.1f
BOOL getChargControlFlag(void);
void setChargControlFlag(BOOL state);
void bl_chargControl(void);

View File

@ -133,6 +133,7 @@ void read_config_info(config_info *output_config_info);
void saveConfigInfo(config_info *config_info);
void config_info_start(void);
void readFlashContent(config_info *configInfo);
void cfgTest(void);
void saveLoopImpedance();
BOOL readLoopImpedance();

View File

@ -22,10 +22,24 @@ static void chargControlMode(void);
static void BatteryChargControl(void);
static void noBatteryChargControl(void);
static void setPIControlStep(float *PI_step);
static BOOL chargControlFlag = FALSE;
// static BOOL getChargControlFlag(void);
void setChargControlFlag(BOOL state);
void setPIControlStep(float *PI_step)
{
if (*PI_step > PI_CONTROL_MAX) {
*PI_step = PI_CONTROL_MAX;
}
else if (*PI_step < PI_CONTROL_MIN) {
*PI_step = PI_CONTROL_MIN;
}
}
/**
* @brief
* @param InVoltage
@ -45,6 +59,7 @@ void mppt_constantVoltage(float InVoltage)
error = getSolarInCircuitVoltage() - InVoltage;
stepPwm = kp * error + ki * getSolarInCircuitVoltage();
setPIControlStep(&stepPwm);
setDutyRatio((getDutyRatio() + stepPwm));
// if (getMosTemperState() == mosTemperEnd) {
@ -71,6 +86,7 @@ void mppt_constantVoltageNoBatteryO(float OutVoltage)
outVolt = getOutputVoltage();
error = OutVoltage - outVolt;
stepPwm = kp * error + ki * outVolt;
setPIControlStep(&stepPwm);
setDutyRatio((getDutyRatio() + stepPwm));
}
@ -95,6 +111,7 @@ void mppt_constantVoltageO(float OutVoltage)
outVolt = getOutputVoltage();
error = OutVoltage - outVolt;
StepPwm = kp * error + ki * outVolt;
setPIControlStep(&StepPwm);
/* 当有电池时,输出电压的曲线是先上升后下降 */
if (lastDutyRatio >= getDutyRatio()) {

View File

@ -53,6 +53,57 @@ void saveConfigInfo(config_info *configInfo)
// save_backups_config_info(config_info);
}
void cfgTest(void)
{
// uint16_t tempTime = HAL_GetTick();
// config_info temp_configInfo;
// readFlashContent(&temp_configInfo);
// log_info("1 read time : %d \n", HAL_GetTick() - tempTime);
// tempTime = HAL_GetTick();
// saveConfigInfo(&temp_configInfo);
// log_info("1 write time : %d \n", HAL_GetTick() - tempTime);
// tempTime = HAL_GetTick();
// for (int i = 0; i < 10; i++) {
// readFlashContent(&temp_configInfo);
// saveConfigInfo(&temp_configInfo);
// }
// log_info("10 time : %d \n", HAL_GetTick() - tempTime);
// uint16_t tempTime = HAL_GetTick();
// float tempF;
// readtotalElectricityConsumption(&tempF);
// log_info("1 read time : %d \n", HAL_GetTick() - tempTime);
// tempTime = HAL_GetTick();
// savetotalElectricityConsumption(&tempF);
// log_info("1 write time : %d \n", HAL_GetTick() - tempTime);
// tempTime = HAL_GetTick();
// for (int i = 0; i < 10; i++) {
// readtotalElectricityConsumption(&tempF);
// savetotalElectricityConsumption(&tempF);
// }
// log_info("10 time : %d \n", HAL_GetTick() - tempTime);
uint16_t tempTime = HAL_GetTick();
timeInfo tempT;
readTime(&tempT);
log_info("1 read time : %d \n", HAL_GetTick() - tempTime);
tempTime = HAL_GetTick();
saveTime(&tempT);
log_info("1 write time : %d \n", HAL_GetTick() - tempTime);
tempTime = HAL_GetTick();
for (int i = 0; i < 10; i++) {
readTime(&tempT);
saveTime(&tempT);
}
log_info("10 time : %d \n", HAL_GetTick() - tempTime);
}
/**
* @brief flash中是否有配置文件或者文件是否有损坏,flash中都损坏则使用默认文件
* @param config_info

View File

@ -36,7 +36,7 @@
</option>
<option>
<name>MacFile</name>
<state />
<state></state>
</option>
<option>
<name>MemOverride</name>
@ -60,7 +60,7 @@
</option>
<option>
<name>CExtraOptions</name>
<state />
<state></state>
</option>
<option>
<name>CFpuProcessor</name>
@ -68,7 +68,7 @@
</option>
<option>
<name>OCDDFArgumentProducer</name>
<state />
<state></state>
</option>
<option>
<name>OCDownloadSuppressDownload</name>
@ -104,7 +104,7 @@
</option>
<option>
<name>MacFile2</name>
<state />
<state></state>
</option>
<option>
<name>CDevice</name>
@ -120,7 +120,7 @@
</option>
<option>
<name>OCImagesPath1</name>
<state />
<state></state>
</option>
<option>
<name>OCImagesSuppressCheck2</name>
@ -128,7 +128,7 @@
</option>
<option>
<name>OCImagesPath2</name>
<state />
<state></state>
</option>
<option>
<name>OCImagesSuppressCheck3</name>
@ -136,7 +136,7 @@
</option>
<option>
<name>OCImagesPath3</name>
<state />
<state></state>
</option>
<option>
<name>OverrideDefFlashBoard</name>
@ -148,11 +148,11 @@
</option>
<option>
<name>OCImagesOffset2</name>
<state />
<state></state>
</option>
<option>
<name>OCImagesOffset3</name>
<state />
<state></state>
</option>
<option>
<name>OCImagesUse1</name>
@ -184,15 +184,15 @@
</option>
<option>
<name>OCMulticoreWorkspace</name>
<state />
<state></state>
</option>
<option>
<name>OCMulticoreSlaveProject</name>
<state />
<state></state>
</option>
<option>
<name>OCMulticoreSlaveConfiguration</name>
<state />
<state></state>
</option>
<option>
<name>OCDownloadExtraImage</name>
@ -216,7 +216,7 @@
</option>
<option>
<name>OCMulticoreSessionFile</name>
<state />
<state></state>
</option>
<option>
<name>OCTpiuBaseOption</name>
@ -228,7 +228,7 @@
</option>
<option>
<name>OCOverrideSlavePath</name>
<state />
<state></state>
</option>
<option>
<name>C_32_64Device</name>
@ -244,11 +244,11 @@
</option>
<option>
<name>AuthSdmManifest</name>
<state />
<state></state>
</option>
<option>
<name>AuthSdmExplicitLib</name>
<state />
<state></state>
</option>
<option>
<name>AuthEnforce</name>
@ -277,7 +277,7 @@
</option>
<option>
<name>OCSimPspConfigFile</name>
<state />
<state></state>
</option>
</data>
</settings>
@ -294,7 +294,7 @@
</option>
<option>
<name>Fast Model</name>
<state />
<state></state>
</option>
<option>
<name>CCADILogFileCheck</name>
@ -461,7 +461,7 @@
</option>
<option>
<name>OCProbeConfig</name>
<state />
<state></state>
</option>
<option>
<name>CMSISDAPProbeConfigRadio</name>
@ -469,11 +469,11 @@
</option>
<option>
<name>CMSISDAPSelectedCPUBehaviour</name>
<state />
<state></state>
</option>
<option>
<name>ICpuName</name>
<state />
<state></state>
</option>
<option>
<name>OCJetEmuParams</name>
@ -481,7 +481,7 @@
</option>
<option>
<name>CCCMSISDAPUsbSerialNo</name>
<state />
<state></state>
</option>
<option>
<name>CCCMSISDAPUsbSerialNoSelect</name>
@ -502,7 +502,7 @@
</option>
<option>
<name>CE2UsbSerialNo</name>
<state />
<state></state>
</option>
<option>
<name>CE2IdCodeEditB</name>
@ -642,7 +642,7 @@
</option>
<option>
<name>IjetCpuClockEdit</name>
<state />
<state></state>
</option>
<option>
<name>IjetSwoPrescalerList</name>
@ -735,7 +735,7 @@
</option>
<option>
<name>OCProbeConfig</name>
<state />
<state></state>
</option>
<option>
<name>IjetProbeConfigRadio</name>
@ -755,7 +755,7 @@
</option>
<option>
<name>ICpuName</name>
<state />
<state></state>
</option>
<option>
<name>OCJetEmuParams</name>
@ -781,7 +781,7 @@
</option>
<option>
<name>CCIjetUsbSerialNo</name>
<state />
<state></state>
</option>
<option>
<name>CCIjetUsbSerialNoSelect</name>
@ -1004,7 +1004,7 @@
</option>
<option>
<name>CCJLinkUsbSerialNo</name>
<state />
<state></state>
</option>
<option>
<name>CCTcpIpAlt</name>
@ -1013,11 +1013,11 @@
</option>
<option>
<name>CCJLinkTcpIpSerialNo</name>
<state />
<state></state>
</option>
<option>
<name>CCCpuClockEdit</name>
<state />
<state></state>
</option>
<option>
<name>CCSwoClockAuto</name>
@ -1074,7 +1074,7 @@
</option>
<option>
<name>CCLmiftdiUsbSerialNo</name>
<state />
<state></state>
</option>
<option>
<name>CCLmiftdiUsbSerialNoSelect</name>
@ -1227,7 +1227,7 @@
</option>
<option>
<name>CCSTLinkUsbSerialNo</name>
<state />
<state></state>
</option>
<option>
<name>CCSTLinkUsbSerialNoSelect</name>
@ -1240,7 +1240,7 @@
</option>
<option>
<name>CCSTLinkDAPNumber</name>
<state />
<state></state>
</option>
<option>
<name>CCSTLinkDebugAccessPortRadio</name>
@ -1378,11 +1378,11 @@
</option>
<option>
<name>TIPackage</name>
<state />
<state></state>
</option>
<option>
<name>BoardFile</name>
<state />
<state></state>
</option>
<option>
<name>DoLogfile</name>
@ -1474,7 +1474,7 @@
</option>
<option>
<name>CCXds100CpuClockEdit</name>
<state />
<state></state>
</option>
<option>
<name>CCXds100SwoClockAuto</name>
@ -1495,7 +1495,7 @@
</option>
<option>
<name>CCXds100UsbSerialNo</name>
<state />
<state></state>
</option>
<option>
<name>CCXds100UsbSerialNoSelect</name>