C++/Arduino 7 位不显示 5 或 6
C++/Arduino 7digit doesn't show the 5 or 6
我的问题很简单,但我似乎无法修复它。我试图在7位数字显示(0-9)上获取基本数字。我正在使用二进制代码进行输出。但是以某种方式我的显示器显示9,而实际上是需要显示的5个。另外,如果我想显示6个显示8。有人能帮我吗?这是我正在使用的二进制代码。
0 = B00000011
1 = B10011111
2 = B01001011
3 = B00001101
4 = B10011001
5 = B01001001
6 = B01000001
7 = B00011111
8 = B00000001
9 = B00001001
无需访问您使用的板,很难确切地指出正在发生的事情,但是我可以做出一些有根据的猜测。既然您正在学习,那么我会有点漫长(无论如何我的天性也是如此)。
这是一个7段显示的图,其标签(并排)
-- aa
| | f b
-- gg
| | e c
-- dd
从您的代码中,从您的值到显示器的接线如下(顶部的位数,x for UnDustand)如下所示,其中0为ON且1关闭:
76543210
abcdefgX
基于此,表中使用的值应为:
0 = B00000011
1 = B10011111
2 = B00100101
3 = B00001101
4 = B10011001
5 = B01001001
6 = B01000001
7 = B00011111
8 = B00000001
9 = B00001001
除非我犯了一个错误,否则我认为您对" 2"的实现是不正确的。这更可能是因为" 2"值应该在"位上有5",并且您的实施中只有4个0。
由于您认为2是正确的,所以这意味着第6位的电线(上面的7段图中的" B")是松动的或误后的(或可能短在其他电线上),因为它显然仍然是当" 1"出现时," on"。正如您所描述的。
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 字符串-C++后显示的随机字符
- 继承期间显示未知行为的子类
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- Arduino:for/while/if在void setup()或void loop()之前?——错误:之前需要不合格
- 程序崩溃并显示"std::out_of_range"错误
- 如何在C++中用std::cout正确显示带十六进制的字符串文本
- 为什么在C的循环中使用printf的Rust代码不显示输出,而在C++的循环中显示std::cout
- 从数据库实时显示QT c++中的数据
- Arduino LCD 显示屏显示混乱的字母
- "Time"库形式 Arduino 显示不正确的值
- 使用 ARDUINO 和处理在 8x8 LED 矩阵上显示数据时出现问题
- C++/Arduino 7 位不显示 5 或 6
- 对于循环:LED 在 Arduino 上无法正确显示
- 在 arduino 中运行代码时不显示输出结果
- Arduino(C/C++)代码在LCD上显示阵列的内容
- Arduino将整数发送为两个字节,并将其显示在Qt中
- Arduino 代码异常 - LCD 出现故障并显示多个 'if' 语句