Вопрос

Я вижу инструкцию «printf» в образце кодов языка C для микроконтроллера, особенно в 8051. Поскольку микроконтроллеры не имеют фиксированного выхода, что является использование инструкции «printf»?

Это было полезно?

Решение

Скорее всего, чем нет, поэтому вы можете прикрепить консоль отладки, либо через порт RS232, либо как виртуальный вывод из эмулятора в вводной цепи.

Другие советы

Printf определяется для вывода на STDOUT не «Выходной дисплей», STDOUT может быть любое устройство потока. Как правило, на системе без дисплея он выводится в последовательный интерфейс (uArt), так что клемм или эмулятор терминала (Hyperterminal или Teraterm) может использоваться в качестве устройства отображения.

Некоторые среды развития реализуют «полуходюр», где STDIO, STDIN и STDERR, и даже в некоторых случаях файловая система предоставляется хостом разработки через интерфейс отладчика (JTAG, ICE, SWD и т. Д.).

Как правило, библиотека вашего компилятора предоставит вам крючки или заглушки, чтобы вы могли реализовать драйверы для пользовательских устройств ввода / вывода альтернативных потоков, поэтому, например, вы можете реализовать один, чтобы Printf выводит на ЖК-дисплей, имеет ли у вашего устройства. Это называется «ретаргетинг».

Вы можете взаимодействовать с микроконтроллером к последовательному порту ПК и контролировать данные, которые вы

Printf.

используя HyperTerminal. Также вы можете использовать его для диагностических целей

Некоторые инструменты разработки позволяют использовать Printf. Учитывая реализацию путчар или глава. Отказ В таких инструментах, поскольку у вас есть эта функция, отправляющая символы на некоторое устройство, Printf покажет сообщения на этом устройстве.

Вам просто нужно сделать правильное инициализацию устройства, внедрить PUTCHAR, PUTCH или такое (проверьте документы Compiler / lib) и Voilá! Ваш printf будет вести себя так, как вы ожидаете.

PS: некоторые компиляторы / библиотеки Не реализуйте Все спецификаторы формата printf. Опять же, проверьте свои документы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top