Привет, я хочу использовать макрос debug_print, который сможет делать то, что делает printf, но я работаю с micrium (RTOS), который не поддерживает printf.So Может ли кто-нибудь помочь мне, как реализовать макрос debug_print, поддерживающий microium RTOSprintf function for micrium
ответ
Это не обязанность RTOS предоставлять printf - это стандартная библиотека вашего компилятора - вам может потребоваться реализовать низкоуровневую поддержку выбранного вами устройства вывода; то, что вам нужно сделать, будет зависеть от библиотеки и/или инструментальной цепочки. Большинство небольших RTOS предоставляют немного больше, чем планирование, синхронизацию, синхронизацию и услуги IPC и не обеспечивают поддержку ввода-вывода. Это не означает, конечно, что вы не можете использовать службы RTOS для реализации поддержки ввода-вывода.
Если ваша библиотека не предоставляет printf, или ее поддержка слишком тяжелая для ваших нужд (для некоторых реализаций требуется много места для стека, а поддержка спецификатора полного формата может быть дорогостоящей в кодовом пространстве на очень маленьких объектах), есть множество легких реализаций, таких как Tiny Printf.
_ Есть слишком много возможных ответов, или хорошие ответы будут слишком длинными для этого формата. Пожалуйста, добавьте детали, чтобы сузить набор ответов или изолировать проблему, на которую можно ответить в нескольких параграфах. –
Пожалуйста, покажите свои исследовательские усилия до времени. Сначала прочитайте страницу [Ask]. –
Давайте сделаем записи прямо. Вы хотите распечатать в файл журнала или какой-либо глобальный буфер? –