Зарегистрирован: Сб мар 26, 2016 01:01:31 Сообщений: 47
Рейтинг сообщения:0
Доброго времени суток. С милионпятьсотвосьмой попытки удалось создать проект в visual studio code для stm32g0. Даже замигал светодиодом. Без кубов и халов с эльэль. Только "ЦЭМСИС". Но как оказалось, проект не видит любезно засунутые в папку src ничего кроме "main.c". Хотя там есть прекрасный system_stm32g0xx.c. Тоесть при обращении к переменной или функции в любом файле кроме main.c, приводит к ошибке. Вопрос: как правильно подключать "*.c" и "*.h" файлы в visual studio code. Как же прекрасно в keil - сишный добавил в папку, а хедер указал в путях и все прекрасно работает, а как это делать в visual studio code?
ps: Дополню, шо если "сгондобить" проект через Кубик, то все прекрасно видится и работает. Но шо делать если не нравится мне тот HAL and LL. Хачу на CMSIS.
Последний раз редактировалось mab72 Вт апр 23, 2024 19:53:30, всего редактировалось 1 раз.
Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Хедер можно подключать через скобочки, а можно через кавычки. Будет немного отличаться места поиска файла. Но вообще накосячить можно очень много где. Например,
mab72 писал(а):
Тоесть при обращении к переменной или функции в любом файле кроме main.c
вот это что значит? Может, область видимости не та? Переменные, которые фактически сидят в соседнем файле, надо объявлять через extern.
вот. спасибо за краткое и емкое пояснение. именно добавление файлов в проект. в espresif помню шо сишный файл надо было прписать в макефайле или что-то в этом роде. так вот как это забабахать в VSC?
Хедер можно подключать через скобочки, а можно через кавычки. Будет немного отличаться места поиска файла. Но вообще накосячить можно очень много где. Например,
mab72 писал(а):
Тоесть при обращении к переменной или функции в любом файле кроме main.c
вот это что значит? Может, область видимости не та? Переменные, которые фактически сидят в соседнем файле, надо объявлять через extern.
я очень сильно не профи в программировании, это увлечение, но про extern знаю(не так давно изучил), тут вопрос что сам файл не видится, в проекте в папке рядышком с main.c валяется, ан нет VSC упорно его не видит. мэйн - видит, а другие нет. Вот и вопрос как прописать подключить внешний сишный файл?
Добавлено after 47 minutes 16 seconds: Я ЕГО ПОБЕДИЛ!!! Тему можно закрывать. Упорно искал решение, а оно на поверхности: есть такой файлик в проекте(создается автоматически) vscode_generated.cmake, а в нем заветные строки:
дописывай нужный путь и в перед!!! Записал ${CMAKE_CURRENT_SOURCE_DIR}/Src/system_stm32g0xx.c и все заработало. Всем спасибо.
Добавлено after 9 hours 59 minutes 40 seconds: БЛИН БЛИНСКИЙ!!! Рано я возрадовался. Одно починил, новая фишечка сломалась. Не заходит в обработчик прерывания. Настроил таймер и прерывания от него, а нет . Нету прерывания. Создаю голый проект в Кейле, копирую именно копирую текст в main.c and main.h и все прекрасно работает. А vscode нет прерываний и все. Сгенерированный кубом проект прекрасна работает в vscode, а тут хотелка без кубов забабахать. Кто поможет с пошаговым созданием проекта в vscode без кубов.
Зарегистрирован: Сб мар 26, 2016 01:01:31 Сообщений: 47
Рейтинг сообщения:0
И тут победил!!! Как же иногда полезно думать. Вообщем проблема оказалась в стартовом файле, который генерирует vscode, некашерная там таблица векторов прерывания. Заменил я весь этот автогенерированный на эстэмовский и вуаля, все заработало.
О, кстати да! В СТМовском тоже пару раз попадал на ситуацию, когда вектор непрописан. Ну вот нет и всё. Хочешь - руками дописывай, хочешь - в своей программе переопределяй. А вот "с завода" не написан. И такое бывает...
Спасибо. Пока не дорос до платного ПО. И демку пробовал - не завелось, шо не кашерную с просторов интернета, шо триальную с официально сайта, не неасилил.
Из бесплатного таки кубиде вполне вменяемая среда. Со своими минусами, конечно, но жить можно. Если ВСикоде не является принципиальным требованиям, то рекомендую ознакомится при случае.
Видел, делал. С первогораза не получилось. Попробую повнимательнее делать прям как в тех видосах. Но всеже это студия , а она поувесистее. Хотя тоже норм. Буду пробывать.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения