Здравствуйте!
Проблема в следующем, имеются 4 файла:
main.h
main.c
stm32f0xx_it.h
stm32f0xx_it.c
в файле main.c объявляется функция:
spoilervoid start_impulse()
{
if (count < 10 & off == 0)
{
TIM1->CNT= 0; while(TIM1->CNT < delay_sinus) {} // Задержка
pulse_out();
count++;
}
else
{
count = 0;
delay_sinus = delay_sinus - 700;
TIM1->CNT= 0; while(TIM1->CNT < delay_sinus) {} // Задержка
pulse_out();
}
if (delay_sinus <= 700)
{
off = 1;
HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_SET);
}
}
в файле main.h тоже прописано объявление прототипа функции:
spoiler/* Exported functions prototypes ---------------------------------------------*/
void Error_Handler(void);
/* USER CODE BEGIN EFP */
void start_impulse(void);
void pulse_out(void);
/* USER CODE END EFP */
При попытке вызвать функцию в stm32f0xx_it.c происходит ошибка:
"Description Resource Path Location Type undefined reference to `start_impulse' stm32f0xx_it.c /Timer/Core/Src line 154 C/C++ Problem"
Вызывается функция следующим образом:
spoilervoid EXTI4_15_IRQHandler(void)
{
/* USER CODE BEGIN EXTI4_15_IRQn 0 */
/* USER CODE END EXTI4_15_IRQn 0 */
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_10);
start_impulse();
//HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);
/* USER CODE BEGIN EXTI4_15_IRQn 1 */
/* USER CODE END EXTI4_15_IRQn 1 */
}
Подскажите новичку, в какую сторону гуглить ,пожалуйста, либо способ устранения проблемы.. Спасибо!