Ранее я показал простую программу для микроконтроллера на Си. Однако при компиляции программ на Си вы можете столкнуться с неожиданностями… Все мы привыкли думать, что язык Си — это как математика: дважды два везде четыре. Написал код на компьютере, перекинул на микроконтроллер, и всё работает. Теоретически — да. Практически — вас ждёт сюрприз. Язык Си для маленьких чипов — это совсем не тот язык, который учили в институте. Вернее, похож, но с большими «но». Давайте разбираться, почему так вышло и как не попасть в ловушку. Производители микроконтроллеров (например, STMicroelectronics, Microchip, Espressif) не пишут свой компилятор с нуля. Обычно они берут готовый движок (чаще всего от LLVM или GCC) и дорабатывают его под свою железку. Представьте, что у вас есть рецепт супа. Один повар варит его в кастрюле на плите, а второй — в мультиварке. Рецепт один, но вкус и время готовки будут разными. Так и здесь: база общая, а настройки свои. Вот основные три отличия, с которыми сталкивается к