C51中printf跟直接用SBUF有什么区别?
我知道printf是格式化输出,那么我只要传一个8位数,它们是不是就没有区别?另外有个很重要的,printf只要我用了,就会不停得往串口输出数,哪怕我没把它放在循环语句中是不?比如我这样:
while(1){
while(RI){
n=SBUF;
RI=0;
TI=1; //???
t=read(n);
delay(10000);
printf("%d\n",t);
}
}
我往串口只发一次数据,它就会不停的回复我数据(实测下来好像是的哦,不明白)???
TI=1;这句话一定要加吗??? 其实我没有用过KEIL提供的PRINTF
要做什么格式转换,我都自己做,这样能省掉不少的PRINTF的通用接口
我只这样说,没用过我也不太敢断定
一顶 不推荐用PRINTF,自己写串口读串口容易控件得多。 这个printf貌似是使用仿真器用,
楼主看看有没有这个函数的源码啊。
其实楼主完全自己写一个即可。 printf可以格式化输出。。。。。比如我要往上位机发一个回车符,请教大侠们用SBUF=? '\n''\r'
WIN下你要发这两个字符 回LS,SBUF是个寄存器,只能给它8位二进制数吧,具体用数表示是什么?ASCII? SBUF随时会被改变的 引用 8 楼 xqhrs232 的回复:
SBUF随时会被改变的
????
我程序很小,会不会碰到SBUF我很清楚。。。。。。。
我只想问直接SBUF怎么实现PRINTF功能,比如回车符。。。 谁把printf的功能、用法说下好么?传说可以自己改它的功能的,请问在哪改?? 还有啊,我2楼说的什么,怎么版主删了啊,好像还是疑问吧。。。。
页:
[1]