STM32 HAL Вызов HAL_UART_Transmit из другого файла, кроме основного. c - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь вызвать HAL_UART_Transmit () из моего пользовательского файла SA145. c, что вызывает ошибку: идентификатор huart1 us undefined. huart1 объявлен как extern в main. c. Как вызвать HAL_UART_Transmit () из файла, отличного от main. c

1 Ответ

0 голосов
/ 05 августа 2020

ошибка: идентификатор huart1 us undefined.

huart1 объявлен как extern в main. c.

Что-то должно быть объявлен как extern в файле, где он находится, если использовать обычное слово «заимствованный».

Но он должен действительно существовать (ie, а не extern ) - это какой-то файл. В противном случае компоновщик найдет только попытки использовать его, но на самом деле никогда не найдет «это» для использования.

В то же время вы, возможно, действительно не захотите вызывать базовый c последовательная функция из множества мест, но, возможно, вы захотите обернуть ее чем-то подходящим для почему вы ее вызываете, например, для отправки данных на периферийное устройство или для создания распечатки отладки, et c. Тогда вы можете сохранить аргумент только в одном файле и вам не придется делиться им.

...