- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用微芯片和谐通过 SPI 将 PT6965 LED Controller 与 Pic32 连接起来。我的问题是我无法理解使用 spi 写入 LED Controller 的数据/命令将打开连接到 LED Controller 的 3 个 RGB LED。我已阅读 PT6965 数据表,他们提到了如何使用数据命令,但我无法理解应该如何使用它们。有人可以给我一个简单的例子,如何打开红色 LED 等。
我的整体项目结构
Pic32-> SPI -> LED Controller -> RGB LED
LED 连接如下。
红色 LED -> 20 号引脚 (SG12/GR7)
蓝色 LED -> 引脚 19 (SG11)
绿色 LED -> 引脚 18 (SG10/KS10)
PT6965 LED Controller 数据表的链接“http://www.princeton.com.tw/Portals/0/Product/PT6965.pdf”
最佳答案
从 STB 高电平开始。在每个命令之前将其拉低,并在发送命令后在发送下一个命令之前将其拉高。
由于您使用的是 11 以后的 SG,因此您需要在写入数据之前更改显示模式(数据表中的命令 1)。这可以通过发送 0b00000000 将 Controller 设置为 4 位 14 段模式来完成。 (这只是必要的,因为您使用的是 SG12 引脚。这也意味着以后要写入的地址更少。)
接下来,您要设置数据设置(命令 2)。它从 0b0100 开始,还有 4 位。下一位是 0,因为我们没有处于测试模式。您需要在每次数据写入时增加地址,因此接下来执行 0。显示 Controller 还设计用于读取按键矩阵,但您没有使用它,因此我们要添加最后的 00。这给出了 0b01000000。
接下来的部分是困难的部分,因为你要设置你需要写入的地址。这是我无法轻易帮助你的地方,你需要理解这一点。命令 3 显示您可以写入的所有地址。您想要专门影响每个数字的第 10 到 12 段。这意味着您要写入奇数地址处所有字节中的字节 1 到 3。由于您没有使用其他引脚,因此最简单、最快的方法是遍历所有地址。由于您不关心向偶数地址写入什么,因此您可以向奇数地址写入相同的内容。为简单起见,您首先需要发送地址代码将地址设置为 0:0b1100,后跟您的地址 0b0000。这给出 0b11000000。现在,无需将 STB 拉回高电平,即可开始发送数据字节。每次写入时,地址都会递增。由于我们之前将位数设置为4,因此我们只需要向上到地址0x7即可。您可以通过发送包含 0b0000RBG0 的 8 个字节来实现此目的,其中字母代表颜色的状态。完成此操作后,您可以将闪光灯设置为高位。 (这假设阴极全部连接到 GND,以便忽略数字阴极)
这当然是最低限度。最好只写你需要的部分,而忽略其余部分,但我试图让事情变得简单,即使这不是正确的做事方式。
您需要设置一些其他显示控制设置(命令 4)。这些以 0b1000 开头。然后,您需要输入 1 来保持显示屏打开,然后输入 111 以使显示屏尽可能保持点亮。这给出了 0b10001111。
该组件并非专为初学者使用而设计,您将其用于非预期目的,这会使事情变得过于复杂。您滥用了该部分的目的。虽然这是一次很好的学习经历,但你必须真正尝试学习。花点时间阅读数据表,因为根据我所说的内容,它可能无法工作,具体取决于它的设置方式。我试图解释为什么发送每个命令,而不仅仅是它是什么。在使用它之前,您需要了解这些命令。仔细阅读数据表,查看每个命令,了解我建议这样做的原因。
关于c - 如何使用 Pic32 打开连接到 PT6965 LED Controller 的 RGB LED?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51422780/
嘿,我 wounderd 如果有什么。我可以继续阅读以改进此代码的突击队吗?至少它现在可以工作,但需要做一些微调:) 如您所见,代码非常困惑且难以阅读。希望有人能帮忙。 提前谢谢。 int potPi
我使用 AVR 作为微 Controller ,ATMEGA8 作为处理器(在微 Controller 内部)。带有微 Controller 的电路板有 4 个 LED。我能够刻录程序并点亮 LEDS
谁能解释一下两者之间的关系 LED 像素密度, LED像素高度和宽度 , 和 分辨率在创建模拟器时方法很详细。。并在启动时再次默认值:皮肤尺寸、密度;缩放密度以实现大小? 最佳答案 像素密度:每英寸像
我有一个由大小为 64*64 的 LED 组成的阵列。每个 LED 都可以点亮各种颜色,并且可以非常快速地改变颜色。我的最终目标是:对于网络摄像头接收到的每一帧,我希望能够从帧中“提取”LED 数组,
我正在使用 Arduino Uno 软件进行编码,但遇到了问题。我试图以随机顺序打开 8 个 LED,然后立即将它们全部关闭。我的问题是 LED 会多次点亮相同的 LED,但最终不会全部点亮。这使得电
当我使用Ethernet.begin(mac,ip)时,LED灯不会打开和关闭。但是当我不使用那条线时它就可以工作。但我需要使用以太网和 UPP 模块来打开和关闭。我怎样才能? 板卡型号:以太网08T
我试图顺时针和逆时针方向点亮我的 LED 灯。我使用mpu6050作为LED的方向控制。我检查了我的 mpu6050 驱动代码,它们没问题。顺时针方向工作时效果很好,所有 LED 灯均呈红色亮起。像这
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
我是一名优秀的程序员,十分优秀!