问题在于,当我尝试制作特定图像时,一列在没有我要求的情况下亮起。
我想要的图片是:
_•____•_
_••__••_
••_••_••
•••__•••
••••••••
_••__••_
__••••__
但我得到:
_•_•__•_
_•••_••_
••_••_••
••••_•••
••••••••
_•••_••_
__••••__
事实上,即使我用 0 或 1 填充列,它也不会关闭。
经过反复试验,我发现此列上的 LED 在两种情况下会亮起:
我只是在学习这些东西。我是 3 天前拿到的,所以我主要是复制和粘贴别人的代码,然后稍微重新整理一下,以了解它是如何工作的。
这是负责这部分程序的代码部分:
// 2-dimensional array of row pin numbers:
int C[] = {2, 7, A5, 5, 13, A4, 12, A2};
// 2-dimensional array of column pin numbers:
int R[] = {6, 11, 10, 3, A3, 4, 8, 9};
unsigned char Mysia[8][8] = {
0,1,0,0,0,0,1,0,
0,1,1,0,0,1,1,0,
0,1,1,1,1,1,1,0,
1,1,0,1,1,0,1,1,
1,1,1,0,0,1,1,1,
1,1,1,1,1,1,1,1,
0,1,1,0,0,1,1,0,
0,0,1,1,1,1,0,0,
};
void Display(unsigned char dat[8][8]) {
for(int c=0; c<8; c++) {
digitalWrite(C[c],LOW);
for(int r=0; r<8; r++) {
digitalWrite(R[r], dat[r][c]);
}
delay(1);
Clear(); //Remove empty display light
}
}
void Clear() {
for(int i=0; i<8; i++) {
digitalWrite(R[i],LOW);
digitalWrite(C[i],HIGH);
}
}
void case2() {
Display(Mysia);
}