Если вы были внимательны, то должны были обнаружить в библиотеке для МК (например HAL) конструкцию вида:
xxxxxxxxxx
extern "c"
{
// c code
} // extern "C"
Си является подмножеством C++, но с оговорками. Поведение некоторых механизмов языков, а так же значения ключевых слов, отличаются. По этому, если вы пишите код на Си в C++ программе, компилятору следует чётко дать об этом знать. Обернув код в extern "C"
можно продолжать писать как в старые добрые времена. Другими словами, теперь вы готовы писать прошивки для микроконтроллеров.
Есть ещё одна особенность использования
extern "C"
, но мы поговорим об этом позже.