В одном из моих приложений Contiki я вызываю определенную функцию (f) из PROCESS (P). «Printf» в (P) отображает результат правильно, когда по крайней мере один «printf» находится в цикле, находящемся в (f). Однако, когда в этом же цикле нет «printf», результат будет пустым. Может ли кто-нибудь помочь мне понять, почему задержка цикла вызовом printf отображает результат и почему он не отображается без этого конкретного вызова.Contiki OS слишком быстро выводит результат печати?
**CODE:**
function_f(...){
....
....
char res1[LEN];
....
for(i=LEN-1;i>1;i--){
....addition operations...
if(temp > 9 && (i-1) > 0){
...division operation...
...addition and remainder operation...
}else{
....addition....
....assignment....
}
}
return res1
}
PROCESS_THREAD(...){
....
**printf**("\nResult: %s", function_f(...));
....
}
Спасибо, Avijit
, пожалуйста, напишите минимальный код, который полностью компилируется и демонстрирует проблему. по крайней мере, опубликуйте соответствующие инструкции printf() – user3629249
Строка формата printf() заканчивается на '\ n'? вы пытались использовать 'fflush (stdout) '? скорее всего, вывод printf() не отображается из-за буферизации системы вывода. – user3629249
Я не думаю, что fflush stdout работает для встроенных систем, таких как узлы датчиков – aviian7