添加了读保护与定时重启

This commit is contained in:
95384 2024-10-17 09:44:14 +08:00
parent 27c9850517
commit 4f012874be
4 changed files with 92 additions and 51 deletions

View File

@ -719,18 +719,25 @@ void my_update_mcs_param(float new_wind_speed, float new_wind_dirction)
void tem_hum_update_task(void const * argument)
{
int time_s_temp_humi = 0;
uint32_t time_s_1Day = 0;
get_temp_humi_data(&g_stMcs_Para.temperature, &g_stMcs_Para.humidity);//开机先采集一次
while(1)
{
osDelay(1000);
time_s_temp_humi ++;
time_s_1Day ++;
if (time_s_temp_humi >= g_stConfigInfo.temp_hum_update_time)
{
get_temp_humi_data(&g_stMcs_Para.temperature, &g_stMcs_Para.humidity);
time_s_temp_humi = 0;
}
if (time_s_1Day >= 86400)
{
__iar_builtin_set_FAULTMASK(1);
NVIC_SystemReset();
}
my_update_mcs_param(av_speed, av_angle);
//采集HP203B数据(大气压)

View File

@ -81,6 +81,40 @@ void MX_FREERTOS_Init(void);
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
void Flash_EnableReadProtection(void)
{
FLASH_OBProgramInitTypeDef OBInit;
__HAL_FLASH_PREFETCH_BUFFER_DISABLE();
HAL_FLASHEx_OBGetConfig(&OBInit);
if(OBInit.RDPLevel == OB_RDP_LEVEL_0)
{
OBInit.OptionType |= OPTIONBYTE_RDP;
OBInit.RDPLevel = OB_RDP_LEVEL_1;
HAL_FLASH_Unlock();
HAL_FLASH_OB_Unlock();
HAL_FLASHEx_OBProgram(&OBInit);
HAL_FLASH_OB_Launch();//必须添加这个,不然读保护设置不生效
HAL_FLASH_OB_Lock();
HAL_FLASH_Lock();
}
__HAL_FLASH_PREFETCH_BUFFER_ENABLE();
}
/* USER CODE END 0 */
/**
@ -91,7 +125,7 @@ int main(void)
{
/* USER CODE BEGIN 1 */
Flash_EnableReadProtection();//读保护
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/

File diff suppressed because one or more lines are too long

View File

@ -12,8 +12,8 @@
<ByteLimit>50</ByteLimit>
</Stack>
<PlDriver>
<FirstRun>0</FirstRun>
<MemConfigValue>D:\Program Files\IAR Systems\arm\config\debugger\ST\STM32L496RG.ddf</MemConfigValue>
<FirstRun>0</FirstRun>
</PlDriver>
<Jet>
<JetConnSerialNo>WCH CMSIS-DAP:1BEC8F06A0E4</JetConnSerialNo>
@ -30,7 +30,7 @@
<EnforceMemoryConfiguration>1</EnforceMemoryConfiguration>
</ArmDriver>
<DebugChecksum>
<Checksum>3954847773</Checksum>
<Checksum>667954530</Checksum>
</DebugChecksum>
<Exceptions>
<StopOnUncaught>_ 0</StopOnUncaught>
@ -50,8 +50,8 @@
<PowerConnectPC>1</PowerConnectPC>
</SWOManager>
<Disassembly>
<MixedMode>1</MixedMode>
<InstrCount>0</InstrCount>
<MixedMode>1</MixedMode>
</Disassembly>
<TerminalIO>
<InputSource>1</InputSource>
@ -82,13 +82,31 @@
<NoPCCapture>0</NoPCCapture>
</ETMTraceWindow>
<StLinkDriver>
<stlinkserialNo>0665FF323541483043141633</stlinkserialNo>
<stlinkfoundProbes />
<stlinkResetStyle>0</stlinkResetStyle>
<stlinkResetStrategy>2</stlinkResetStrategy>
<LeaveTargetRunning>_ 0</LeaveTargetRunning>
<CStepIntDis>_ 0</CStepIntDis>
<stlinkResetStyle>0</stlinkResetStyle>
<stlinkResetStrategy>2</stlinkResetStrategy>
<stlinkserialNo>0665FF323541483043141633</stlinkserialNo>
<stlinkfoundProbes />
</StLinkDriver>
<SWOTraceHWSettings>
<OverrideDefaultClocks>0</OverrideDefaultClocks>
<CpuClock>80000000</CpuClock>
<ClockAutoDetect>0</ClockAutoDetect>
<ClockWanted>2000000</ClockWanted>
<JtagSpeed>2000000</JtagSpeed>
<Prescaler>40</Prescaler>
<TimeStampPrescIndex>0</TimeStampPrescIndex>
<TimeStampPrescData>0</TimeStampPrescData>
<PcSampCYCTAP>1</PcSampCYCTAP>
<PcSampPOSTCNT>15</PcSampPOSTCNT>
<PcSampIndex>0</PcSampIndex>
<DataLogMode>0</DataLogMode>
<ITMportsEnable>0</ITMportsEnable>
<ITMportsTermIO>0</ITMportsTermIO>
<ITMportsLogFile>0</ITMportsLogFile>
<ITMlogFile>$PROJ_DIR$\ITM.log</ITMlogFile>
</SWOTraceHWSettings>
<Trace2>
<Enabled>0</Enabled>
<ShowSource>0</ShowSource>
@ -134,35 +152,6 @@
<ShowTimeSum>1</ShowTimeSum>
<SumSortOrder>0</SumSortOrder>
</EventLog>
<DriverProfiling>
<Enabled>0</Enabled>
<Mode>3</Mode>
<Graph>0</Graph>
<Symbiont>0</Symbiont>
<Exclusions />
</DriverProfiling>
<SWOTraceHWSettings>
<OverrideDefaultClocks>0</OverrideDefaultClocks>
<CpuClock>80000000</CpuClock>
<ClockAutoDetect>0</ClockAutoDetect>
<ClockWanted>2000000</ClockWanted>
<JtagSpeed>2000000</JtagSpeed>
<Prescaler>40</Prescaler>
<TimeStampPrescIndex>0</TimeStampPrescIndex>
<TimeStampPrescData>0</TimeStampPrescData>
<PcSampCYCTAP>1</PcSampCYCTAP>
<PcSampPOSTCNT>15</PcSampPOSTCNT>
<PcSampIndex>0</PcSampIndex>
<DataLogMode>0</DataLogMode>
<ITMportsEnable>0</ITMportsEnable>
<ITMportsTermIO>0</ITMportsTermIO>
<ITMportsLogFile>0</ITMportsLogFile>
<ITMlogFile>$PROJ_DIR$\ITM.log</ITMlogFile>
</SWOTraceHWSettings>
<TermIOLog>
<LoggingEnabled>_ 0</LoggingEnabled>
<LogFile>_ ""</LogFile>
</TermIOLog>
<DisassembleMode>
<mode>0</mode>
</DisassembleMode>
@ -173,4 +162,15 @@
<Count>0</Count>
<SuppressDialog>0</SuppressDialog>
</Aliases>
<DriverProfiling>
<Enabled>0</Enabled>
<Mode>3</Mode>
<Graph>0</Graph>
<Symbiont>0</Symbiont>
<Exclusions />
</DriverProfiling>
<TermIOLog>
<LoggingEnabled>_ 0</LoggingEnabled>
<LogFile>_ ""</LogFile>
</TermIOLog>
</settings>