如何将字节数组转换为arduino led矩阵的uint64_t
我在这个网站上看到了这个字节数组到uint64_t的转换,用于绘制字母A 我认为将字节数组转换成uint64_t可以减少代码大小,同时节省arduino IC代码存储空间 字节数组:如何将字节数组转换为arduino led矩阵的uint64_t,arduino,Arduino,我在这个网站上看到了这个字节数组到uint64_t的转换,用于绘制字母A 我认为将字节数组转换成uint64_t可以减少代码大小,同时节省arduino IC代码存储空间 字节数组: const byte IMAGES[][8] = { { B00011000, B00100100, B01000010, B01111110, B01000010, B01000010, B01000010, B00000000 }}; const uint64_t IMAGE
const byte IMAGES[][8] = {
{
B00011000,
B00100100,
B01000010,
B01111110,
B01000010,
B01000010,
B01000010,
B00000000
}};
const uint64_t IMAGES[] = {
0x004242427e422418
};
uint64\u t数组:
const byte IMAGES[][8] = {
{
B00011000,
B00100100,
B01000010,
B01111110,
B01000010,
B01000010,
B01000010,
B00000000
}};
const uint64_t IMAGES[] = {
0x004242427e422418
};
如何通过查看led矩阵图像上方的显示字节数组将其转换为uint64\u t,而无需任何工具,如?如果它是小尾端
uint64_t IMAGE = 0;
for (int i = 0; i < (sizeof(byte) * 8); i++)
{
IMAGE += ((uint64_t) byteIMAGE[i] & 0xffL) << (8 * i);
}
uint64_t IMAGE = 0;
for (int i = 0; i < (sizeof(byte) * 8); i++)
{
IMAGE = (IMAGE << 8) + (byteIMAGE[i] & 0xff);
}
uint64\u t IMAGE=0;
对于(int i=0;i<(字节大小)*8;i++)
{
IMAGE+=((uint64_t)byteIMAGE[i]&0xffL)希望这个示例可以帮助您,转换的主要功能是
void显示图像(uint64\u t图像)
在函数中,i是行,j是列,位读取(x,n)
告诉您位于位置(i,j)的led必须打开或关闭
// ex. for the value 128 on a generic row
for (int j = 0; j < 8; j++) {
Serial.println( bitRead(128, j));
}
//通用行上的值128的示例
对于(int j=0;j<8;j++){
Serial.println(位读(128,j));
}
< /p>为什么不首先使用<代码> UTIN 64×T/代码>,剩下的留给编译器?一个好的编译器应该优化掩蔽到单字节写的转换。不要垃圾邮件标签。ARDUNO是不是C,也不是确切的C++。(除非您定义了256个符号常量或宏,否则您没有定义,是吗?)。