blu*_*blu 6 c c++ arduino char uint32-t
您好我使用带有adafruit盾牌的Arduino UNO来显示分数值,但用于显示分数的功能仅接受char*值,分数本身最多可占用6位数(000,000到999,999).我曾尝试使用sprint(),但我没有运气,因为屏幕会像疯了一样闪烁.我认为问题是chars只保留一定数量的字节,不能适应32位int但我认为他们是一种方法.绘制文本是屏蔽在屏幕上绘制的函数,输入为char*,颜色代码,大小,x像素,y像素.如果有人可以帮我转换这两种类型,请告诉我.如果他们是替代品,也会帮助我.
我的代码:
char* textToWrite;
uint32_t currentScore = 0;
uint32_t highScore = 0;
highScore = currentScore;
sprintf(textToWrite,"%d.%d.%d.%d\0", currentScore);//sprint f not working properly right now
drawText(textToWrite, ST7735_WHITE, 1, 100, 10);
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用:
sprintf(textToWrite,"%u", currentScore);
Run Code Online (Sandbox Code Playgroud)
char textToWrite[ 16 ];
uint32_t currentScore = 42;
// as per comment from LS_dev, platform is int 16bits
sprintf(textToWrite,"%lu", currentScore);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15362 次 |
| 最近记录: |