[英]Raspberry Pi: printf() doesn't work with wiringPi
我正在尝试一个简单的代码,如下所示使用connectioningPi:
#include<wiringPi.h>
#include<stdio.h>
int main(void){
int i;
wirintPiSetup();
pinMode(0,OUTPUT); //a single LED
pinMode(8,INPUT); //tactile switch
for(;;){
delay(500);
//push tactile switch and LED is turning on
if(digitalRead(8)) digitalWrite(0,0);
else digitalWrite(0,1);
printf("%d",digitalRead(8));
}
}
我希望将printf()的结果输出到控制台,但是不起作用。 printf()无法与connectionPi API同时运行?
编译时没有警告。 并且CPU消耗始终低于4%。 在Raspbian上运行。
谢谢你的时间!
默认情况下, stdout
是行缓冲的 ,这意味着它将尝试推迟将数据写入基础文件,直到换行为止。 但是由于您从不打印换行符,因此stdout
只会缓冲文本,直到空间用尽。
您可以通过在格式字符串中添加换行符(即"%d\\n"
)或在打印后在stdout
上调用fflush
来解决此问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.