备份-111

This commit is contained in:
王绪洁 2025-07-01 08:22:19 +08:00
parent fa561c20b9
commit 429bf9dc68
7 changed files with 137 additions and 1025 deletions

View File

@ -14,6 +14,7 @@
"freertos.h": "c",
"lan8742.h": "c",
"lwip.h": "c",
"dhcp.h": "c"
"dhcp.h": "c",
"limits": "cpp"
}
}

View File

@ -63,15 +63,15 @@ extern ETH_HandleTypeDef heth;
extern struct tcp_pcb *server_pcb_hart[TCP_MAX];
/* USER CODE END FunctionPrototypes */
void start_lwip_task(void const *argument);
void start_dac_task(void const *argument);
void start_ch438_task(void const *argument);
void start_lwip_task(void const * argument);
void start_dac_task(void const * argument);
void start_ch438_task(void const * argument);
extern void MX_LWIP_Init(void);
void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
/* GetIdleTaskMemory prototype (linked to static allocation support) */
void vApplicationGetIdleTaskMemory(StaticTask_t **ppxIdleTaskTCBBuffer, StackType_t **ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize);
void vApplicationGetIdleTaskMemory( StaticTask_t **ppxIdleTaskTCBBuffer, StackType_t **ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize );
/* USER CODE BEGIN GET_IDLE_TASK_MEMORY */
static StaticTask_t xIdleTaskTCBBuffer;
@ -87,12 +87,11 @@ void vApplicationGetIdleTaskMemory(StaticTask_t **ppxIdleTaskTCBBuffer, StackTyp
/* USER CODE END GET_IDLE_TASK_MEMORY */
/**
* @brief FreeRTOS initialization
* @param None
* @retval None
*/
void MX_FREERTOS_Init(void)
{
* @brief FreeRTOS initialization
* @param None
* @retval None
*/
void MX_FREERTOS_Init(void) {
/* USER CODE BEGIN Init */
/* USER CODE END Init */
@ -129,6 +128,7 @@ void MX_FREERTOS_Init(void)
/* USER CODE BEGIN RTOS_THREADS */
/* add threads, ... */
/* USER CODE END RTOS_THREADS */
}
/* USER CODE BEGIN Header_start_lwip_task */
@ -138,7 +138,7 @@ void MX_FREERTOS_Init(void)
* @retval None
*/
/* USER CODE END Header_start_lwip_task */
void start_lwip_task(void const *argument)
void start_lwip_task(void const * argument)
{
/* init code for LWIP */
MX_LWIP_Init();
@ -154,7 +154,7 @@ void start_lwip_task(void const *argument)
{
if (tcp_echo_flags[tcp_hart_num] == 1)
{
if (((phyreg >> 2) & 0x1) != 0x1) // PHY_BSR寄存器的<EFBFBD>?2位表示PHY是否连接 PHY_LINKED_STATUS
if (((phyreg >> 2) & 0x1) != 0x1) // PHY_BSR寄存器的ï¿??2ä½<C3A4>表示PHY是å<C2AF>¦è¿žæŽ¥ PHY_LINKED_STATUS
{
/* When the netif link is down this function must be called */
@ -184,7 +184,7 @@ void start_lwip_task(void const *argument)
* @retval None
*/
/* USER CODE END Header_start_dac_task */
void start_dac_task(void const *argument)
void start_dac_task(void const * argument)
{
/* USER CODE BEGIN start_dac_task */
/* Infinite loop */
@ -208,7 +208,7 @@ void start_dac_task(void const *argument)
* @retval None
*/
/* USER CODE END Header_start_ch438_task */
void start_ch438_task(void const *argument)
void start_ch438_task(void const * argument)
{
/* USER CODE BEGIN start_ch438_task */
/* Infinite loop */

View File

@ -65,9 +65,9 @@ void MX_FREERTOS_Init(void);
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
@ -99,6 +99,7 @@ int main(void)
/* USER CODE BEGIN 2 */
hart_ht1200m_reset(); // 初始化HT1200M模块
HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_4); // PWM输出用于驱动HT1200M模块
HAL_TIM_Base_Start_IT(&htim3); // <20>臬𢆡TIM3摰𡁏𧒄<F0A1818F><EFBFBD><E58981><EFBFBD><EFBFBD><E686AD>CH438銝剜鱏
/* USER CODE END 2 */
/* Call init function for freertos objects (in freertos.c) */
@ -120,22 +121,22 @@ int main(void)
}
/**
* @brief System Clock Configuration
* @retval None
*/
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Configure the main internal regulator output voltage
*/
*/
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
@ -150,8 +151,9 @@ void SystemClock_Config(void)
}
/** Initializes the CPU, AHB and APB buses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
@ -168,32 +170,31 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
if (CH438_1_INT_Pin == GPIO_Pin)
{
ch438_1_int_flag = 1; // 设置CH438_1的中断标志用于中断处理函数中判断是否为CH438_1的中断请<EFBFBD>?
ch438_1_int_flag = 1; // 霈曄蔭CH438_1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>敹梹<EFBFBD><EFBFBD><EFBFBD>銝剜鱏憭<EFBFBD><EFBFBD><EFBFBD>賣㺭銝剖ế<EFBFBD>剜糓<EFBFBD>虫蛹CH438_1<EFBFBD><EFBFBD><EFBFBD>剛窈嚙???
// ch438_interrupt_handler_ch438_chip_1();
}
if (CH438_2_INT_Pin == GPIO_Pin)
{
ch438_2_int_flag = 1; // 设置CH438_1的中断标志用于中断处理函数中判断是否为CH438_2的中断请<EFBFBD>?
ch438_2_int_flag = 1; // 霈曄蔭CH438_1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>敹梹<EFBFBD><EFBFBD><EFBFBD>銝剜鱏憭<EFBFBD><EFBFBD><EFBFBD>賣㺭銝剖ế<EFBFBD>剜糓<EFBFBD>虫蛹CH438_2<EFBFBD><EFBFBD><EFBFBD>剛窈嚙???
// ch438_interrupt_handler_ch438_chip_2();
}
}
/* USER CODE END 4 */
/**
* @brief Period elapsed callback in non blocking mode
* @note This function is called when TIM4 interrupt took place, inside
* HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment
* a global variable "uwTick" used as application time base.
* @param htim : TIM handle
* @retval None
*/
* @brief Period elapsed callback in non blocking mode
* @note This function is called when TIM4 interrupt took place, inside
* HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment
* a global variable "uwTick" used as application time base.
* @param htim : TIM handle
* @retval None
*/
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
/* USER CODE BEGIN Callback 0 */
/* USER CODE END Callback 0 */
if (htim->Instance == TIM4)
{
if (htim->Instance == TIM4) {
HAL_IncTick();
}
/* USER CODE BEGIN Callback 1 */
@ -202,30 +203,30 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
if (ch438_1_int_flag == 2)
{
ch438_interrupt_handler_ch438_chip_1();
ch438_1_int_flag = 0;
}
if (ch438_1_int_flag == 1)
{
ch438_1_int_flag++;
ch438_1_int_flag = 0;
}
if (ch438_2_int_flag == 2)
{
ch438_interrupt_handler_ch438_chip_2();
ch438_2_int_flag = 0;
}
if (ch438_2_int_flag == 1)
{
ch438_2_int_flag++;
ch438_2_int_flag = 0;
}
}
/* USER CODE END Callback 1 */
}
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
@ -237,14 +238,14 @@ void Error_Handler(void)
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */

View File

@ -88,9 +88,9 @@ void MX_TIM3_Init(void)
htim3.Instance = TIM3;
htim3.Init.Prescaler = 54;
htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
htim3.Init.Period = 1000;
htim3.Init.Period = 499;
htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
if (HAL_TIM_Base_Init(&htim3) != HAL_OK)
{
Error_Handler();

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<?xml version="1.0" encoding="UTF-8"?>
<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd">
<SchemaVersion>1.0</SchemaVersion>
@ -45,7 +45,7 @@
<PageWidth>79</PageWidth>
<PageLength>66</PageLength>
<TabStop>8</TabStop>
<ListingPath></ListingPath>
<ListingPath />
</OPTLEX>
<ListingPage>
<CreateCListing>1</CreateCListing>
@ -104,16 +104,16 @@
<bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf>
<nTsel>6</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
<sDlgDll></sDlgDll>
<sDlgPa></sDlgPa>
<sIfile></sIfile>
<tDll></tDll>
<tDllPa></tDllPa>
<tDlgDll></tDlgDll>
<tDlgPa></tDlgPa>
<tIfile></tIfile>
<sDll />
<sDllPa />
<sDlgDll />
<sDlgPa />
<sIfile />
<tDll />
<tDllPa />
<tDlgDll />
<tDlgPa />
<tIfile />
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
</DebugOpt>
<TargetDriverDllRegistry>
@ -130,7 +130,7 @@
<SetRegEntry>
<Number>0</Number>
<Key>ARMDBGFLAGS</Key>
<Name></Name>
<Name />
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
@ -148,7 +148,7 @@
<Name>-UB -O2254 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407ZGTx$CMSIS\Flash\STM32F4xx_1024.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2</Name>
</SetRegEntry>
</TargetDriverDllRegistry>
<Breakpoint/>
<Breakpoint />
<WatchWindow1>
<Ww>
<count>0</count>
@ -308,19 +308,19 @@
<newCpu>0</newCpu>
<uProt>0</uProt>
</DebugFlag>
<LintExecutable></LintExecutable>
<LintConfigFile></LintConfigFile>
<LintExecutable />
<LintConfigFile />
<bLintAuto>0</bLintAuto>
<bAutoGenD>0</bAutoGenD>
<LntExFlags>0</LntExFlags>
<pMisraName></pMisraName>
<pszMrule></pszMrule>
<pSingCmds></pSingCmds>
<pMultCmds></pMultCmds>
<pMisraNamep></pMisraNamep>
<pszMrulep></pszMrulep>
<pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp>
<pMisraName />
<pszMrule />
<pSingCmds />
<pMultCmds />
<pMisraNamep />
<pszMrulep />
<pSingCmdsp />
<pMultCmdsp />
<DebugDescription>
<Enable>1</Enable>
<EnableFlashSeq>0</EnableFlashSeq>

File diff suppressed because it is too large Load Diff

View File

@ -532,7 +532,7 @@ ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=false
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_LWIP_Init-LWIP-false-HAL-false,4-MX_TIM2_Init-TIM2-false-HAL-true,5-MX_SPI1_Init-SPI1-false-HAL-true,6-MX_FSMC_Init-FSMC-false-HAL-true
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_LWIP_Init-LWIP-false-HAL-false,4-MX_TIM2_Init-TIM2-false-HAL-true,5-MX_SPI1_Init-SPI1-false-HAL-true,6-MX_FSMC_Init-FSMC-false-HAL-true,7-MX_TIM3_Init-TIM3-false-HAL-true
RCC.48MHZClocksFreq_Value=55296000
RCC.AHBFreq_Value=110592000
RCC.APB1CLKDivider=RCC_HCLK_DIV4
@ -632,8 +632,9 @@ TIM2.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4
TIM2.IPParameters=Channel-PWM Generation4 CH4,Period,Pulse-PWM Generation4 CH4
TIM2.Period=119
TIM2.Pulse-PWM\ Generation4\ CH4=60
TIM3.IPParameters=Prescaler,Period
TIM3.Period=1000
TIM3.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
TIM3.IPParameters=Prescaler,Period,AutoReloadPreload
TIM3.Period=499
TIM3.Prescaler=54
VP_FREERTOS_VS_CMSIS_V1.Mode=CMSIS_V1
VP_FREERTOS_VS_CMSIS_V1.Signal=FREERTOS_VS_CMSIS_V1