Главное при этом не наступить на классические грабли, когда один из аргументов printf - функция, в которой делается что-нить важное для функционирования устройства Что-то типа
#infdef DEBUG printf(...)
printf("Current status flag is %d\n", ReadAndClearStatusFlag());