嗨,这是我的代码片段:
RIT128x96x4StringDraw(HWREGBITW(&g_ulFlags, 0) ? "1" : "0", 48, 32, 15);
这仅用于在屏幕上打印一些字符串。我想要一个函数或方法来打印可以递增的数字,就像我们在 c++ 中所做的那样
for(;;)
{
cout<<i++;
}
从您的另一个问题Arm Cortex Display中,我们看到了函数的原型。
void RIT128x96x4StringDraw(char *str, ulong x, ulong y, unsigned char level);
以下是参数,
x
并且y
是屏幕上的位置。它们是字符位置,因此此函数绘制文本,如 aprintf()
或cout
。 level
参数是强度;我猜你有一个灰度 LCD,这就是文本的白色或黑色。str
是您要打印的C 字符串。这是一个以传统C模式打印数字的示例。
#include <stdio.h>
#include <stdlib.h>
void print_number(int i)
{
char buffer[36];
itoa (i,buffer,10);
RIT128x96x4StringDraw(&buffer[0], 0, 0, 15);
}
这使用itoa()
函数将数字转换为C 字符串。如果你更喜欢C++ 语法,下面的代码可能更可取,
void print_number(int i)
{
std::ostringstream oss;
oss << i++;
/* What ever else you wish to do... */
RIT128x96x4StringDraw(oss.str().c_str(), 0, 0, 15);
}
这段代码并不意味着是防弹生产代码,甚至可能无法编译。它是为了展示一个概念。
如果您的目标是资源受限的,这是一个实现。itoa()