Здравствуйте. В коде примеров для nRF24 встречается строчка: Код (Text): printf_P(PSTR("*** WARNING *** Unknown message type %c\n\r"),header.type); Я понимаю что это вывод строки, но куда, не понятно? Если в монитор порта, то почему не Serial.print ? И для чего второй параметр?
printf_P определено в библиотеке rf24 как просто printf. Реализацию самого printf не нашел, но подозреваю, что это вывод в Serial, поскольку никакой другой адекватной замены терминала для вывода данной функцией я не вижу. работает этот printf стандартно для языка с. Первый параметр - форматная строка, определяющая, как будут выводиться следующие за ней параметры. Данная строка представляет из себя текст, в котором встречаются определения, начинающиеся с символа %. Каждому такому определению должен соответствовать параметр соответствующего типа, символьное представление которого в соответствии с определением будет подставлено вместо определения. В данном конкретном случае параметр один, типа char ( %с ), который будет подставлен в выводе ближе к концу строки, непосредственно перед символами новой строки и перевода каретки.