问题一:如何把电压这个浮点值输出到串口屏?
要解决这个问题,要使用C语言的sprintf这个语句,具体语句的详细内容可以自行百度下,这里仅提供简单使用方法:
sprintf是需要stdio.h来声明的,因此需要在程序开头使用:
#include "stdio.h"
此函数大约需要3K左右的空间;
声明一个存储空间(注意,声明的是全局变量),用于存放需要显示的字符串
char buf[100]; //要求命令串长度不超100字符
假设由AD取回并转换成电压的浮点数vol
float vol; //vol 变量是浮点数
vol=1.253; //vol为1.253V,可由AD采样在此步赋值
产生送给gpu的命令字符串
sprintf(buf,"DS12(100,20,'电压:%.3fV',1);\r\n",vol);
发送给gpu
GpuSend(buf);
功能
把格式化的数据写入某个
字符串
缓冲区。
原型
int sprintf( char *buffer, const char *format, [ argument] … );
参数列表
buffer:
char型指针,指向将要写入的字符串的缓冲区。
format:格式化字符串。
[argument]..
.:可选参数,可以是任何类型的数据。
返回值
返回写入buffer 的字符数,出错则返回-1. 如果 buffer 或 format 是空指针,且不出错而继续,函数将返回-1,并且 errno 会被设置为 EINVAL。
sprintf 返回被写入buffer 的字节数,结束字符‘\0’不计入内。即,如果“Hello”被写入空间足够大的buffer后,函数sprintf 返回5。
使用
http://baike.baidu.com/link?url=T80eWDuqU6sZKoaQsUCS3wbyHFtZ6mDNfzBazA5r5LZLuhjyd5i7EpPPPVq-4Pqk4emqGcQUhIvtsfzR8x2OZK