51单片机C语言中使用printf函数需要设置什么?

我想使用51单片机打印信息输出到电脑上,也就是用UART这个功能打印,使用printf这个函数来打印,需要怎么设置呢?比如IO口要怎么设置,UART要怎么设置?我没有用过printf这个函数在单片机中;如果不设置的话,单片机怎么知道使用那个UART打印呢?所以我想应该要设置的;
但UART怎么知道printf函数是使用UART发送打印呢?

其实和直接的串口发送是一样的#include
<intrins.h
包含进去tp=adcread(adr);读取ad转换的值sprintf(str,
"ad
result
is:
%dmv
\r",
tp);str是个char型数组再调用你编写的串口发送字符串程序发送strvoid
sentstr(uchar
*str){
while(1)
{
if(*str='\0')break;
putbuffer(*str++);
}}sentstr(str);
51单片机中没有printf这个函数,你如果想用串口发送的话,要自己去写一个串口发送函数就可以了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-07-06
其实和直接的串口发送是一样的#include
<intrins.h
包含进去tp=ADCRead(adr);读取
AD转换
的值sprintf(str,
"AD
Result
is:
%dmV
\r",
tp);str是个char型数组再调用你编写的串口发送字符串程序发送strvoid
sentstr(uchar
*str){
while(1)
{
if(*str='\0')break;
putbuffer(*str++);
}}sentstr(str);
51单片机
中没有printf这个函数,你如果想用串口发送的话,要自己去写一个串口发送函数就可以了。
第2个回答  推荐于2017-09-30
51单片机中没有printf这个函数,你如果想用printf的话,要自己去写一个函数(在里面附上实现打印的代码)。也就是说printf的原代码。调用它就能实现了

#include <intrins.h> 包含进去

tp=ADCRead(adr);读取AD转换的值
sprintf(str, "AD Result is: %dmV \r", tp);str是个char型数组
再调用你编写的串口发送字符串程序发送str

void sentstr(uchar *str)
{
while(1)
{
if(*str='\0')break;
putbuffer(*str++);
}
}

sentstr(str);
51单片机中没有printf这个函数,你如果想用串口发送的话,要自己去写一个串口发送函数就可以了。
第3个回答  2010-06-07
51单片机中没有printf这个函数,你如果想用串口发送的话,要自己去写一个串口发送函数就可以了。
第4个回答  2010-06-05
其实和直接的串口发送是一样的
#include <intrins.h> 包含进去

tp=ADCRead(adr);读取AD转换的值
sprintf(str, "AD Result is: %dmV \r", tp);str是个char型数组
再调用你编写的串口发送字符串程序发送str

void sentstr(uchar *str)
{
while(1)
{
if(*str='\0')break;
putbuffer(*str++);
}
}

sentstr(str);
相似回答