- 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/
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 6年前关闭。 Improve thi
让我们快速回顾一下以下案例: 不将动态链接与位置无关代码相结合。我可能敢说这是一个不可能的案例,但当我深入探讨这个主题时,我不太确定。 将静态链接与位置无关代码相结合。我相信这作为一个有效的组合是完全
我正在将一个线程局部变量添加到几个始终直接链接到可执行文件的目标文件中。这些对象永远不会包含在共享库中(并且可以安全地假设这在可预见的 future 会成立)。这意味着这些对象不需要 -fPIcfla
这个问题与this one有关以及它的答案。 我刚刚在我正在处理的构建中发现了一些丑陋之处。情况看起来有点像下面(用gmake格式写的);请注意,这特别适用于 sparc 和 x86 硬件上的 32
我在 PIC 的 mikroC 中实现基于定时器的中断时遇到问题。 如果 PORTC.F0 处有按键,我想切换端口引脚 8 次,并且切换之间应该有 100 毫秒的延迟。 通常使用延迟函数这会很容易 f
我试图通过 SPI 通信让 PIC1 成为主机,PIC2 成为从机。我想从 PIC1(master)发送命令到 PIC2(slave),然后让它做一些事情。但是,我也想通过 SPI 通信建立从 PIC
我正在使用 cvSplit() 来分离 RGB channel 并将它们打印在 3 个不同的图像中,显示颜色 r、g 和 b。但我只有黑白照片的 BW 图像。这是使用 cvSplit() 时的正确输出
初始化以下变量时: 01 BATCH-REC. 03 BATCH-VERSION PIC X(2). 03 BATCH-FIELDS
当我在学习 javafx 教程并尝试为 ImageView 创建一个新的 Image 实例以将其用于 TreeView 时,我注意到导师曾经创建一个 ImageView:new ImageView(n
我正在研究 PIC16F887,我的任务主要基于 adc 读数(8 位)。有 10 个不同的模拟输入,因此逐个读取它们需要相当长的时间。时钟为 20Mhz,adc 唯一允许的设备频率为 Fosc/32
我有一 block 带有特殊 UEXT connector 的 Olimex A20 板它可以连接 SPI、I2C 和 RS 232。我喜欢使用 Olimex 的 MOD Zigbee 模块直接通过
有没有办法在不使用pickit型编程器的情况下编程(闪存)裸(尚未使用引导加载程序闪存)pic32芯片? 例如,是否有任何正在进行的 JTAG 项目? 最佳答案 建议您引用Microchip PIC3
阅读时this blogpost , 当作者试图证明共享库需要 PIC 时,我遇到了以下情况。 If your shared library is built to only work when lo
我是 PIC mcu 的新手。我使用 pic12f675 MPLAB 和 XC8 来制作 LED 多次闪烁模式。 我有按钮问题(经过审查,它调用了 Bounce 和 Debounce)。 有时当我按下
是否有用于不可屏蔽中断的独立通信总线绕过可编程中断 Controller ? 或者 PIC 是否管理所有中断,但按照约定传递所有不可屏蔽中断? 这是否取决于架构,或者是否有特定的理由选择其中一种而不是
我想问一下如何在PIC C编译器中为PIC18f4620编写代码,以便在模拟输入之一为1时传输日期 最佳答案 对于这个网站来说,这个问题实在是太宽泛了。如何编写代码取决于您使用的 PIC C 编译
我是 PIC 编程新手,正在使用 MPLAb。我有一个关于中断的问题..所以我想做的是,当我按下按钮时,我想打开 LED 0,如果我松开按钮,则打开 LED 1。我认为我编写的代码有意义,但它不起作用
我想用我的PIC18F4550、蓝牙模块HC-06和电脑做一个简单的测试。我的意思是,我想使用蓝牙模块将一个简单的字符从 PIC 发送到 PC。 它应该在终端中出现一个“A”,但出现的是十六进制的 F
所以我使用的微型芯片是 PIC 18F。 如果设置了Alarm_Status.bits.b3(本质上只是一个开关),则会创建警报。第一个代码片段按其应有的方式工作 BS(TRISB,7);
经过大量的试错和堆砌,我(我们)设法让两张图片以一种非常特殊的方式重叠: 这是这样实现的: .container { width: 900px; margin: auto; } .center
我是一名优秀的程序员,十分优秀!