sprintf
srpintf()函数的功能非常强大:效率比一些字符串操作函数要高;而且更具灵活性;可以将想要的结果输出到指定的字符串中,也可作为缓冲区,而printf只能输出到命令行上~
头文件:stdio.h
函数功能:格式化字符串,将格式化的数据写入字符串中。
函数原型:int sprintf(char *buffer, const char *format, [argument]…)
函数返回值:buffer指向的字符串的长度;
在51单片机中使用sprintf
sprintf(BUFF_HC,"Soke:%d,Someone ",(int)Value);
注意:这里一定要强转为int类型
原因:可能是8位的系统和32位的系统存储方式不一样,对其方式也不一样
printf
printf() 是 C 语言标准库函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。printf() 申明于头文件 stdio.h。
在51单片机中使用printf作为串口输出
查看了keil的帮助文件里面的printf函数说明,原来printf函数最终是调用putchar函数来实现打印输出字符的。
//UART1 发送串口数据
void UART1_SendData(char dat)
{
ES=0; //关串口中断
SBUF=dat;
while(TI!=1); //等待发送成功
TI=0; //清除发送中断标志
ES=1; //开串口中断
}
//UART1 发送字符串
void UART1_SendString(char *s)
{
while(*s)//检测字符串结束符
{
UART1_SendData(*s++);//发送当前字符
}
}
//重写putchar函数
char putchar(char c)
{
UART1_SendData(c);
return c;
}
注:一定要关闭串口中断
|