Перейти к содержанию
    

STM32 IDE. Подключение .c и .h к проекту

Доброго времени!
Подключил с основному проекту библиотеку для работы с CAN.
Сама библиотека основана на HAL, а основной проект пишу сам на регистрах.

При подключении сишника и ашника к проекту, компилятор выдаёт ошибку. Из файла can.c не видятся функции HAL-ловских сишников.
 

Снимок.JPG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, nickson.b.k said:

компилятор выдаёт ошибку.

Обычно ошибку "undefined reference to" выдаёт линкер. А значит, он не может найти объектник с нужными функциями. А значит, объектника нет, или в нём нет этих функций. А значит, либо функции закомментированы, либо сишник с ними не компилируется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что, haker_fox сказал:

Обычно ошибку "undefined reference to" выдаёт линкер. А значит, он не может найти объектник с нужными функциями. А значит, объектника нет, или в нём нет этих функций. А значит, либо функции закомментированы, либо сишник с ними не компилируется.

и как выйти из этой ситуации?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 minutes ago, nickson.b.k said:

и как выйти из этой ситуации?

Убедитесь, что файл с этими функциями компилируется, а сами функции существуют и не закоментированы. Должен быть объектный файл (то же самое имя, но расширение .o) после компиляции файла HAL.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, haker_fox сказал:

Обычно ошибку "undefined reference to" выдаёт линкер. А значит, он не может найти объектник с нужными функциями. А значит, объектника нет, или в нём нет этих функций. А значит, либо функции закомментированы, либо сишник с ними не компилируется.

Обнаружил, что тот файл hal_can.c, к которому обращается мой can.c , весь неактивный? Я не понимаю как это решить...

Снимок.JPG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 минуты назад, nickson.b.k сказал:

Я не понимаю как это решить...

Изучением Си, в первую очередь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что, Arlleex сказал:

Изучением Си, в первую очередь.

умник. 

соседний проект точно такой же. И там всё норм. 
В этом проекте, всё что было сделано, это импортировались мои файлы (.c и .h) в данный проект....
Один собирается, второй нет. Один имеет нормальный файл hal_can.c, у второго проекта этот файл весь серый. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/13/2021 at 3:22 PM, nickson.b.k said:

Я не понимаю как это решить...

Вероятно нужно разкомментировать HAL_CAN_MODULE_ENABLED в файле stm32f3xx_hal_conf.h

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/13/2021 at 3:22 PM, nickson.b.k said:

Я не понимаю как это решить...

Прочитать книгу

"Стань гуру программирования на языке С за 24 часа"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На сколько я помню, в основном инклюде хала нужно включать перефирию. Только после этого будут собираться нужные объектники.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...