linux 串口格式化输出字符串,如何把电压这个浮点值转字符串输出到串口
問題一:如何把電壓這個浮點值輸出到串口屏?
要解決這個問題,要使用C語言的sprintf這個語句,具體語句的詳細內(nèi)容可以自行百度下,這里僅提供簡單使用方法:
sprintf是需要stdio.h來聲明的,因此需要在程序開頭使用:
#include ?"stdio.h"
此函數(shù)大約需要3K左右的空間;
聲明一個存儲空間(注意,聲明的是全局變量),用于存放需要顯示的字符串
char buf[100]; //要求命令串長度不超100字符
假設(shè)由AD取回并轉(zhuǎn)換成電壓的浮點數(shù)vol
float vol; //vol 變量是浮點數(shù)
vol=1.253; //vol為1.253V,可由AD采樣在此步賦值
產(chǎn)生送給gpu的命令字符串
sprintf(buf,"DS12(100,20,'電壓:%.3fV',1);\r\n",vol);
發(fā)送給gpu
GpuSend(buf);
功能
把格式化的數(shù)據(jù)寫入某個
字符串
緩沖區(qū)。
原型
int sprintf( char *buffer, const char *format, [ argument] … );
參數(shù)列表
buffer:
char型指針,指向?qū)⒁獙懭氲淖址木彌_區(qū)。
format:格式化字符串。
[argument]..
.:可選參數(shù),可以是任何類型的數(shù)據(jù)。
返回值
返回寫入buffer 的字符數(shù),出錯則返回-1. 如果 buffer 或 format 是空指針,且不出錯而繼續(xù),函數(shù)將返回-1,并且 errno 會被設(shè)置為 EINVAL。
sprintf 返回被寫入buffer 的字節(jié)數(shù),結(jié)束字符‘\0’不計入內(nèi)。即,如果“Hello”被寫入空間足夠大的buffer后,函數(shù)sprintf 返回5。
使用
http://baike.baidu.com/link?url=T80eWDuqU6sZKoaQsUCS3wbyHFtZ6mDNfzBazA5r5LZLuhjyd5i7EpPPPVq-4Pqk4emqGcQUhIvtsfzR8x2OZK
總結(jié)
以上是生活随笔為你收集整理的linux 串口格式化输出字符串,如何把电压这个浮点值转字符串输出到串口的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jenkins 插件目录_10 个 Je
- 下一篇: linux 其他常用命令