第5章 显示数值
前面章节说明了如何在屏幕上显示字符串。当然你也可以用字符串和标准C库函数显示数
值。
然而,有时候这会是件困难的事。通常最容易(最有效)的是调用一个函数显示你所需
要结构的数值。µC/GUI提供了不同的十进制,十六进制和二进制输出函数。在这一章对这些
函数进行单独的说明。
所有的函数不需要使用浮点库,并对速度和大小进行了优化。当然“Sprintf”可以用于
任何系统。使用本章所述的函数有时能在 ROM 的存储空间和执行时间上进行精简。
µC/GUI 中文手册
第 1 页
第 5 章 显示数值
5.1 数值API
下表列出了与数值处理相关的函数,在各自的类型中按字母顺序进行排列。函数的详细
描述后面列出。
函 数
说 明
GUI_DispDec()
GUI_DispDecAt()
GUI_DispDecMin()
显示十进制数值
在当前坐标显示指定数量字符的十进制数值
在指定坐标显示指定数量字符的十进制数值
在当前坐标显示最少数量字符的十进制数值
GUI_DispDecShift()
在当前坐标显示指定数量字符的长型十进制数值
GUI_DispDecSpace()
在当前坐标显示指定数量字符的十进制数值,用空格代
替首位的0
GUI_DispsDec()
在当前坐标显示指定数量字符的十进制数值及显示符号
GUI_DispsDecShift()
在当前坐标显示指定数量字符的长型十进制数值及显示
符号
GUI_DispFloat()
GUI_DispFloatFix()
GUI_DispFloatMin()
显示浮点数值
在当前坐标显示指定数量字符的浮点数值
显示浮点数值,指定小数点右边数字数量
在当前坐标显示最少数量字符的浮点数值
GUI_DispsFloatFix()
显示浮点数值,指定小数点右边数字数量及显示符号
GUI_DispsFloatMin()
在当前坐标显示最少数量字符的浮点数值及显示符号
显示二进制数值
在当前坐标显示二进制数值
在指定坐标显示二进制数值
显示十六进制数值
在当前坐标显示十六进制数值
在指定坐标显示十六进制数值
GUI_DispBin()
GUI_DispBinAt()
GUI_DispHex()
GUI_DispHexAt()
5.2 显示十进制数值
GUI_DispDec()
描述
在当前视窗的当前文本坐标,使用当前字体显示一个十进制数值,指定显示字符的数量。
函数原型
void GUI_DispDec(I32 v, U8 Len);
第 2 页
µC/GUI 中文手册
第 5 章 显示数值
参 数
含 意
v
用于显示的数值。
最小值为:-2147483648(-231)
最大值为:2147483647(231-1)
Len
显示的数字的数量(最大为9)
附加信息
不支持首位为0的格式(如0)。
如果数值为负,则会显示一个减号。
范例
// 以分秒的格式显示时间
GUI_DispString(“Min:”);
GUI_DispDec(Min,2);
GUI_DispString(“Sec:”);
GUI_DispDec(Sec,2);
相关主题
GUI_DispSDec(),GUI_DispDecAt(),GUI_DispDecMin(),GUI_DispDecSpace()
GUI_DispDecAt()
描述
在当前视窗的当前文本坐标,使用当前字体显示十进制数值,指定显示字符的数量。
函数原型
void GUI_DispDecAt(I32 v, I16P x, I16P y, U8 Len);
参 数
含 意
用于显示的数值。
最小值为:-2147483648(-231)
最大值为:2147483647(231-1)
写入客户视窗的X坐标(以像素为单位)
写入客户视窗的Y坐标(以像素为单位)
v
x
y
Len
显示的数字的数量(最大为9)
µC/GUI 中文手册
第 3 页
第 5 章 显示数值
附加信息
不支持首位为0的格式。如果数值为负,则会显示一个减号。
范例
// 在左上角更新秒
GUI_DispDecAT(Sec, 200, 0, 2);
相关主题
GUI_DispDec(),GUI_DispSDec(),GUI_DispDecMin(),GUI_DispDecSpace()
GUI_DispDecMin()
描述
在当前视窗的当前文本坐标,使用当前字体显示十进制数值。不需要指定长度;自动使
用最小的长度值。
函数原型
void GUI_DispDecMin(I32 v);
参 数
含 意
v
用于显示的数值。
最小值为:-2147483648(-231)
最大值为:2147483647(231-1)
能显示的数字的最大数量为9。
附加信息
如果数值必须要对齐,但是数字的数量不一样,使用该函数不是一个好的选择,应该使
用一个能够指定数字数量的函数。
范例
// 显示结果
GUI_DispString(“The result is :”);
GUI_DispDecMin(Result);
第 4 页
µC/GUI 中文手册
第 5 章 显示数值
相关主题
GUI_DispDec(),GUI_DispDecAt(),GUI_DispSDec(),GUI_DispDecSpace()
GUI_DispDecShift()
描述
在当前视窗的当前文本坐标,使用当前字体显示一个长型十进制数值(用小数点作分隔
符),指定显示字符的数量及使用小数点。
void GUI_DispDecShift(I32 v, U8 Len, U8 Shift);
参 数
含 意
v
用于显示的数值。
最小值为:-2147483648(-231)
最大值为:2147483647(231-1)
Len
显示的数字的数量(最大为9)
Shift
小数点右边数字的数量
附加信息
注意显示的最大字符数量为9(包括符号及小数点)
GUI_DispDecSpace()
描述
在当前视窗的当前文本坐标,使用当前字体显示一个十进制数值,禁止首位的0(用空格
代换)。
函数原型
void DispDecSpace(I32 v, U8 MaxDigits);
参 数
v
含 意
用于显示的数值。
最小值为:-2147483648(-231)
最大值为:2147483647(231-1)
µC/GUI 中文手册
第 5 页
第 5 章 显示数值
MaxDigits
显示的数字数量,包括首位空格。
最大显示的数字的数量为9(包括首位空格)
附加信息
如果数值必须要对齐,但是数字的数量不一样,使用该函数是一个好的选择。
范例
// 显示结果
GUI_DispString(“The result is :”);
GUI_DispDecSpace(Result, 200);
相关主题
GUI_DispDec(),GUI_DispDecAt(),GUI_DispSDec(),GUI_DispDecMin()
GUI_DispSDec()
描述
在当前视窗的当前文本坐标,使用当前字体显示一个十进制数值(包括符号),并指定
显示字符的数量。
函数原型
void GUI_DispSDec(I32 v, U8 Len);
参 数
含 意
V
用于显示的数值。
最小值为:-2147483648(-231)
最大值为:2147483647(231-1)
Len
显示的数字的数量(最大为9)
附加信息
不禁止首位为0的格式。
该函数与GUI_DispDec类似,但是在显示数值的前面总带有符号,即使这个数值是正的。
第 6 页
µC/GUI 中文手册
第 5 章 显示数值
相关主题
GUI_DispDec(),GUI_DispDecAt(),GUI_DispDecMin(),GUI_DispDecSpace()
GUI_DispSDecShift()
描述
在当前视窗的当前文本坐标,使用当前字体显示一个长型十进制数值(包括符号,用小
数点作分隔符),指定数字的数量及使用小数点。
函数原型
void GUI_DispSDecShift(I32 v, U8 Len, U8 Shift);
参 数
含 意
v
用于显示的数值。
最小值为:-2147483648(-231)
最大值为:2147483647(231-1)
Len
显示的数字的数量(最大为9)
Shift
小数点右边数字的数量
附加信息
在数值前面总带有一个符号。注意显示的最大字符数量为9(包括符号及小数点)。
范例
void DemoDec(void)
{
long l = 12345;
GUI_Clear();
GUI_SetFont(&GUI_Font8x8);
GUI_DispStringAt(“GUI_DispDecShift:\n”,0,0);
GUI_DispSDecShift(l, 7, 3);
GUI_SetFont(&GUI_Font6x8);
GUI_DispStringAt(“Press any key”,0,GUI_VYSIZE-8);
WaitKey();
}
µC/GUI 中文手册
第 7 页
第 5 章 显示数值
下图为上面范例程序运行结果的屏幕截图
5.3 显示浮点数
GUI_DispFloat()
描述
在当前视窗的当前文本坐标,使用当前字体显示一个浮点数,指定显示字符数量。
函数原型
void GUI_DispFloat(float v, char Len);
参 数
v
含 意
用于显示的数值。
最小值为:1.2E-38 最大值为:3.4E38
Len
显示的数字的数量(最大为9)
附加信息
不支持首位为0的格式。小数点当作一个字符处理。如果数值为负数,会显示一个减号。
范例
/* 浮点数显示的所有特点的演示 */
void DemoFloat(void)
{
float f = 123.45678;
GUI_Clear()
GUI_SetFont(&GUI_Font8x8);
GUI_DispStringAt(“GUI_DispFloat:\n”,0,0);
GUI_DispFloat (f,9);
第 8 页
µC/GUI 中文手册