go to definition of 定位错 - 解决

rebuild all先

还不能解决的话,把debug/release目录下的*.bsc文件删除再rebuild all

如果output file设置到了别的地方的话,就要另外找*.bsc了,实在不行,搜索一下,找到对应的*.bsc,删除,然后rebuild all。随便找到一个原来会出错的变量,go to definition,IDE会提示你重建*.bsc,重建好了就不会再出错了。

/* USER CODE BEGIN Header */ /** ****************************************************************************** * File Name : freertos.c * Description : Code for freertos applications ****************************************************************************** * @attention * * Copyright (c) 2023 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** */ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #include "FreeRTOS.h" #include "task.h" #include "main.h" #include "cmsis_os.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ /* USER CODE BEGIN PTD */ /* USER CODE END PTD */ /* Private define ------------------------------------------------------------*/ /* USER CODE BEGIN PD */ /* USER CODE END PD */ /* Private macro -------------------------------------------------------------*/ /* USER CODE BEGIN PM */ /* USER CODE END PM */ /* Private variables ---------------------------------------------------------*/ /* USER CODE BEGIN Variables */ /* USER CODE END Variables */ osThreadId defaultTaskHandle; osThreadId RTC_TaskHandle; osThreadId Root_TasHandle; osThreadId Change_TaskHandle; osThreadId Menu_TaskHandle; osThreadId Cartoon_TaskHandle; osThreadId Gyro_TaskHandle; osThreadId AlarmSet_Task_Handle; osThreadId AlarmGo_TaskHandle; osThreadId Timing_TaskHandle; osThreadId Game_TaskHandle; osThreadId KEY_TaskHandle; osMutexId Time_SignalHandle; osMutexId Gyro_SignalHandle; osMutexId SW_SignalHandle; osSemaphoreId Key_StateHandle; /* Private function prototypes -----------------------------------------------*/ /* USER CODE BEGIN FunctionPrototypes */ osThreadId *Custom_Features[] = {&Timing_TaskHandle,&Cartoon_TaskHandle,&AlarmSet_Task_Handle,&Game_TaskHandle}; /* USER CODE END FunctionPrototypes */ void StartDefaultTask(void const * argument); extern void Read_Time(void const * argument); extern void Display_Root(void const * argument); extern void Display_ChangeTime(void const * argument); extern void Display_Menu(void const * argument); extern void Display_Cartoon(void const * argument); extern void Read_Gyro(void const * argument); extern void Alarm_Set(void const * argument); extern void Alarm_Go(void const * argument); extern void Timing(void const * argument); extern void Game(void const * argument); extern void Key_Scan(void const * argument); 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 ); /* USER CODE BEGIN GET_IDLE_TASK_MEMORY */ static StaticTask_t xIdleTaskTCBBuffer; static StackType_t xIdleStack[configMINIMAL_STACK_SIZE]; void vApplicationGetIdleTaskMemory( StaticTask_t **ppxIdleTaskTCBBuffer, StackType_t **ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize ) { *ppxIdleTaskTCBBuffer = &xIdleTaskTCBBuffer; *ppxIdleTaskStackBuffer = &xIdleStack[0]; *pulIdleTaskStackSize = configMINIMAL_STACK_SIZE; /* place for user code */ } /* USER CODE END GET_IDLE_TASK_MEMORY */ /** * @brief FreeRTOS initialization * @param None * @retval None */ void MX_FREERTOS_Init(void) { /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Create the mutex(es) */ /* definition and creation of Time_Signal */ osMutexDef(Time_Signal); Time_SignalHandle = osMutexCreate(osMutex(Time_Signal)); /* definition and creation of Gyro_Signal */ osMutexDef(Gyro_Signal); Gyro_SignalHandle = osMutexCreate(osMutex(Gyro_Signal)); /* definition and creation of SW_Signal */ osMutexDef(SW_Signal); SW_SignalHandle = osMutexCreate(osMutex(SW_Signal)); /* USER CODE BEGIN RTOS_MUTEX */ /* add mutexes, ... */ /* USER CODE END RTOS_MUTEX */ /* Create the semaphores(s) */ /* definition and creation of Key_State */ osSemaphoreDef(Key_State); Key_StateHandle = osSemaphoreCreate(osSemaphore(Key_State), 1); /* USER CODE BEGIN RTOS_SEMAPHORES */ /* add semaphores, ... */ /* USER CODE END RTOS_SEMAPHORES */ /* USER CODE BEGIN RTOS_TIMERS */ /* start timers, add new ones, ... */ /* USER CODE END RTOS_TIMERS */ /* USER CODE BEGIN RTOS_QUEUES */ /* add queues, ... */ /* USER CODE END RTOS_QUEUES */ /* Create the thread(s) */ /* definition and creation of defaultTask */ osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 128); defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL); /* definition and creation of RTC_Task */ osThreadDef(RTC_Task, Read_Time, osPriorityAboveNormal, 0, 64); RTC_TaskHandle = osThreadCreate(osThread(RTC_Task), NULL); /* definition and creation of Root_Tas */ osThreadDef(Root_Tas, Display_Root, osPriorityBelowNormal, 0, 128); Root_TasHandle = osThreadCreate(osThread(Root_Tas), NULL); /* definition and creation of Change_Task */ osThreadDef(Change_Task, Display_ChangeTime, osPriorityBelowNormal, 0, 128); Change_TaskHandle = osThreadCreate(osThread(Change_Task), NULL); /* definition and creation of Menu_Task */ osThreadDef(Menu_Task, Display_Menu, osPriorityBelowNormal, 0, 128); Menu_TaskHandle = osThreadCreate(osThread(Menu_Task), NULL); /* definition and creation of Cartoon_Task */ osThreadDef(Cartoon_Task, Display_Cartoon, osPriorityBelowNormal, 0, 128); Cartoon_TaskHandle = osThreadCreate(osThread(Cartoon_Task), NULL); /* definition and creation of Gyro_Task */ osThreadDef(Gyro_Task, Read_Gyro, osPriorityNormal, 0, 128); Gyro_TaskHandle = osThreadCreate(osThread(Gyro_Task), NULL); /* definition and creation of AlarmSet_Task_ */ osThreadDef(AlarmSet_Task_, Alarm_Set, osPriorityBelowNormal, 0, 128); AlarmSet_Task_Handle = osThreadCreate(osThread(AlarmSet_Task_), NULL); /* definition and creation of AlarmGo_Task */ osThreadDef(AlarmGo_Task, Alarm_Go, osPriorityBelowNormal, 0, 64); AlarmGo_TaskHandle = osThreadCreate(osThread(AlarmGo_Task), NULL); /* definition and creation of Timing_Task */ osThreadDef(Timing_Task, Timing, osPriorityBelowNormal, 0, 128); Timing_TaskHandle = osThreadCreate(osThread(Timing_Task), NULL); /* definition and creation of Game_Task */ osThreadDef(Game_Task, Game, osPriorityBelowNormal, 0, 128); Game_TaskHandle = osThreadCreate(osThread(Game_Task), NULL); /* definition and creation of KEY_Task */ osThreadDef(KEY_Task, Key_Scan, osPriorityAboveNormal, 0, 64); KEY_TaskHandle = osThreadCreate(osThread(KEY_Task), NULL); /* USER CODE BEGIN RTOS_THREADS */ /* add threads, ... */ /* USER CODE END RTOS_THREADS */ } /* USER CODE BEGIN Header_StartDefaultTask */ /** * @brief Function implementing the defaultTask thread. * @param argument: Not used * @retval None */ /* USER CODE END Header_StartDefaultTask */ void StartDefaultTask(void const * argument) { /* USER CODE BEGIN StartDefaultTask */ /* Infinite loop */ for(;;) { osDelay(1); } /* USER CODE END StartDefaultTask */ } /* Private application code --------------------------------------------------*/ /* USER CODE BEGIN Application */ //void LED_Lighting(void const * argument) //{ // static uint8_t flash_flag = 0; // while(1) // { // flash_flag++; // HAL_GPIO_TogglePin(GPIOB,LED_Pin); // osDelay(500); // if (flash_flag > 10) // { // flash_flag = 0; // vTaskSuspend(LED_TaskHandle); // } // } //} /* USER CODE END Application */
06-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值