اطلاعیه

Collapse
No announcement yet.

مشکل با Cubeide

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل با Cubeide

    سلام وقت بخیر دوستان
    یه برنامه نوشتم ولی کامپایلر ارور میده
    کد:
    [HASHTAG="t15999"]include[/HASHTAG] "main.h"
    
    [HASHTAG="t15999"]include[/HASHTAG] "cmsis_os.h"
    
    [HASHTAG="t15999"]include[/HASHTAG] <string.h>
    
    
    
    
    UART_HandleTypeDef huart2;
    
    
    
    
    void SystemClock_Config(void);
    
    static void MX_GPIO_Init(void);
    
    static void MX_USART2_UART_Init(void);
    
    
    
    
    
    
    
    int main(void)
    
    {
    
    HAL_Init();
    
    
    
    
    SystemClock_Config();
    
    
    
    
    MX_GPIO_Init();
    
    MX_USART2_UART_Init();
    
    
    
    
    while (1)
    
    {
    
    char str[] = "FaraDars\n";
    
    HAL_UART_Transmit(&huart2, (uint8_t*)str, strlen(str), HAL_MAX_DELAY);
    
    HAL_Delay(500);
    
    }
    
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    /**
    
    * @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_VOLT AGE_SCALE2);
    
    
    
    
    /** Initializes the RCC Oscillators according to the specified parameters
    
    * in the RCC_OscInitTypeDef structure.
    
    */
    
    RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
    
    RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS;
    
    RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
    
    RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
    
    RCC_OscInitStruct.PLL.PLLM = 4;
    
    RCC_OscInitStruct.PLL.PLLN = 84;
    
    RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
    
    RCC_OscInitStruct.PLL.PLLQ = 4;
    
    if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
    
    {
    
    Error_Handler();
    
    }
    
    
    
    
    /** 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.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
    
    RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
    
    RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
    
    RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
    
    
    
    
    if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
    
    {
    
    Error_Handler();
    
    }
    
    }
    
    
    
    
    /**
    
    * @brief USART2 Initialization Function
    
    * @param None
    
    * @retval None
    
    */
    
    static void MX_USART2_UART_Init(void)
    
    {
    
    
    
    
    /* USER CODE BEGIN USART2_Init 0 */
    
    
    
    
    /* USER CODE END USART2_Init 0 */
    
    
    
    
    /* USER CODE BEGIN USART2_Init 1 */
    
    
    
    
    /* USER CODE END USART2_Init 1 */
    
    huart2.Instance = USART2;
    
    huart2.Init.BaudRate = 115200;
    
    huart2.Init.WordLength = UART_WORDLENGTH_8B;
    
    huart2.Init.StopBits = UART_STOPBITS_1;
    
    huart2.Init.Parity = UART_PARITY_NONE;
    
    huart2.Init.Mode = UART_MODE_TX_RX;
    
    huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
    
    huart2.Init.OverSampling = UART_OVERSAMPLING_16;
    
    if (HAL_UART_Init(&huart2) != HAL_OK)
    
    {
    
    Error_Handler();
    
    }
    
    /* USER CODE BEGIN USART2_Init 2 */
    
    
    
    
    /* USER CODE END USART2_Init 2 */
    
    
    
    
    }
    
    
    
    
    /**
    
    * @brief GPIO Initialization Function
    
    * @param None
    
    * @retval None
    
    */
    
    static void MX_GPIO_Init(void)
    
    {
    
    /* USER CODE BEGIN MX_GPIO_Init_1 */
    
    /* USER CODE END MX_GPIO_Init_1 */
    
    
    
    
    /* GPIO Ports Clock Enable */
    
    __HAL_RCC_GPIOH_CLK_ENABLE();
    
    __HAL_RCC_GPIOA_CLK_ENABLE();
    
    
    
    
    /* USER CODE BEGIN MX_GPIO_Init_2 */
    
    /* USER CODE END MX_GPIO_Init_2 */
    
    }
    
    
    
    
    /* USER CODE BEGIN 4 */
    
    
    
    
    /* USER CODE END 4 */
    
    
    
    
    /* 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 *argument)
    
    {
    
    /* USER CODE BEGIN 5 */
    
    /* Infinite loop */
    
    for(;;)
    
    {
    
    osDelay(1);
    
    }
    
    /* USER CODE END 5 */
    
    }
    
    
    
    
    /**
    
    * @brief Period elapsed callback in non blocking mode
    
    * [USER="146394"]note[/USER] This function is called when TIM1 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 == TIM1) {
    
    HAL_IncTick();
    
    }
    
    /* USER CODE BEGIN Callback 1 */
    
    
    
    
    /* USER CODE END Callback 1 */
    
    }
    
    
    
    
    /**
    
    * @brief This function is executed in case of error occurrence.
    
    * @retval None
    
    */
    
    void Error_Handler(void)
    
    {
    
    /* USER CODE BEGIN Error_Handler_Debug */
    
    /* User can add his own implementation to report the HAL error return state */
    
    __disable_irq();
    
    while (1)
    
    {
    
    }
    
    /* USER CODE END Error_Handler_Debug */
    
    }
    
    
    
    
    #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
    
    */
    
    void assert_failed(uint8_t *file, uint32_t line)
    
    {
    
    /* USER CODE BEGIN 6 */
    
    /* User can add his own implementation to report the file name and line number,
    
    ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
    
    /* USER CODE END 6 */
    
    }
    
    [HASHTAG="t25972"]endif[/HASHTAG] /* USE_FULL_ASSERT */
    
    
    ​
    ارور ها یکیش اینه

    ../Drivers/CMSIS/RTOS2/Source/os_systick.c:25:10: fatal error: os_tick.h: No such file or directory
    include "os_tick.h"

    ممنون میشم کمک کنید
    جدیدترین ویرایش توسط mk9000; ۱۸:۱۴ ۱۴۰۴/۰۹/۲۸.

    #2
    لطفا کمک کنید
    هزینه هم بخواین تقدیم می کنم ده روزه نمی تونم اینو کامپایل کنم

    دیدگاه


      #3
      نوشته اصلی توسط mk9000 نمایش پست ها
      سلام وقت بخیر دوستان
      یه برنامه نوشتم ولی کامپایلر ارور میده
      کد:
      [HASHTAG="t15999"]include[/HASHTAG] "main.h"
      
      [HASHTAG="t15999"]include[/HASHTAG] "cmsis_os.h"
      
      [HASHTAG="t15999"]include[/HASHTAG] <string.h>
      
      
      
      
      UART_HandleTypeDef huart2;
      
      
      
      
      void SystemClock_Config(void);
      
      static void MX_GPIO_Init(void);
      
      static void MX_USART2_UART_Init(void);
      
      
      
      
      
      
      
      int main(void)
      
      {
      
      HAL_Init();
      
      
      
      
      SystemClock_Config();
      
      
      
      
      MX_GPIO_Init();
      
      MX_USART2_UART_Init();
      
      
      
      
      while (1)
      
      {
      
      char str[] = "FaraDars\n";
      
      HAL_UART_Transmit(&huart2, (uint8_t*)str, strlen(str), HAL_MAX_DELAY);
      
      HAL_Delay(500);
      
      }
      
      }
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      /**
      
      * @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_VOLT AGE_SCALE2);
      
      
      
      
      /** Initializes the RCC Oscillators according to the specified parameters
      
      * in the RCC_OscInitTypeDef structure.
      
      */
      
      RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
      
      RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS;
      
      RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
      
      RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
      
      RCC_OscInitStruct.PLL.PLLM = 4;
      
      RCC_OscInitStruct.PLL.PLLN = 84;
      
      RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
      
      RCC_OscInitStruct.PLL.PLLQ = 4;
      
      if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
      
      {
      
      Error_Handler();
      
      }
      
      
      
      
      /** 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.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
      
      RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
      
      RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
      
      RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
      
      
      
      
      if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
      
      {
      
      Error_Handler();
      
      }
      
      }
      
      
      
      
      /**
      
      * @brief USART2 Initialization Function
      
      * @param None
      
      * @retval None
      
      */
      
      static void MX_USART2_UART_Init(void)
      
      {
      
      
      
      
      /* USER CODE BEGIN USART2_Init 0 */
      
      
      
      
      /* USER CODE END USART2_Init 0 */
      
      
      
      
      /* USER CODE BEGIN USART2_Init 1 */
      
      
      
      
      /* USER CODE END USART2_Init 1 */
      
      huart2.Instance = USART2;
      
      huart2.Init.BaudRate = 115200;
      
      huart2.Init.WordLength = UART_WORDLENGTH_8B;
      
      huart2.Init.StopBits = UART_STOPBITS_1;
      
      huart2.Init.Parity = UART_PARITY_NONE;
      
      huart2.Init.Mode = UART_MODE_TX_RX;
      
      huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
      
      huart2.Init.OverSampling = UART_OVERSAMPLING_16;
      
      if (HAL_UART_Init(&huart2) != HAL_OK)
      
      {
      
      Error_Handler();
      
      }
      
      /* USER CODE BEGIN USART2_Init 2 */
      
      
      
      
      /* USER CODE END USART2_Init 2 */
      
      
      
      
      }
      
      
      
      
      /**
      
      * @brief GPIO Initialization Function
      
      * @param None
      
      * @retval None
      
      */
      
      static void MX_GPIO_Init(void)
      
      {
      
      /* USER CODE BEGIN MX_GPIO_Init_1 */
      
      /* USER CODE END MX_GPIO_Init_1 */
      
      
      
      
      /* GPIO Ports Clock Enable */
      
      __HAL_RCC_GPIOH_CLK_ENABLE();
      
      __HAL_RCC_GPIOA_CLK_ENABLE();
      
      
      
      
      /* USER CODE BEGIN MX_GPIO_Init_2 */
      
      /* USER CODE END MX_GPIO_Init_2 */
      
      }
      
      
      
      
      /* USER CODE BEGIN 4 */
      
      
      
      
      /* USER CODE END 4 */
      
      
      
      
      /* 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 *argument)
      
      {
      
      /* USER CODE BEGIN 5 */
      
      /* Infinite loop */
      
      for(;;)
      
      {
      
      osDelay(1);
      
      }
      
      /* USER CODE END 5 */
      
      }
      
      
      
      
      /**
      
      * @brief Period elapsed callback in non blocking mode
      
      * [USER="146394"]note[/USER] This function is called when TIM1 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 == TIM1) {
      
      HAL_IncTick();
      
      }
      
      /* USER CODE BEGIN Callback 1 */
      
      
      
      
      /* USER CODE END Callback 1 */
      
      }
      
      
      
      
      /**
      
      * @brief This function is executed in case of error occurrence.
      
      * @retval None
      
      */
      
      void Error_Handler(void)
      
      {
      
      /* USER CODE BEGIN Error_Handler_Debug */
      
      /* User can add his own implementation to report the HAL error return state */
      
      __disable_irq();
      
      while (1)
      
      {
      
      }
      
      /* USER CODE END Error_Handler_Debug */
      
      }
      
      
      
      
      #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
      
      */
      
      void assert_failed(uint8_t *file, uint32_t line)
      
      {
      
      /* USER CODE BEGIN 6 */
      
      /* User can add his own implementation to report the file name and line number,
      
      ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
      
      /* USER CODE END 6 */
      
      }
      
      [HASHTAG="t25972"]endif[/HASHTAG] /* USE_FULL_ASSERT */
      
      
      ​
      ارور ها یکیش اینه

      ../Drivers/CMSIS/RTOS2/Source/os_systick.c:25:10: fatal error: os_tick.h: No such file or directory
      include "os_tick.h"

      ممنون میشم کمک کنید
      درود بر شما،
      به نظر میرسه داخل برنامه شما از RTOS استفاده شده ولی کتابخانه هاش ناقص دانلود شده ( یا اصلا دانلود نشده ) و باید خودتون دانلود و اضافه کنید.
      به وضوح مشخصه که کامپایلر فایل هدر os_tick.h رو نمیتونه پیدا کنه.

      دیدگاه

      لطفا صبر کنید...
      X