我正在尝试与覆盆子PI 3沟通
输入由12伏驱动,LED连接到LED驱动器。
SPI连接上的数据很奇怪。
例如,如果LED上有120作为二进制,则SPI输出上有126。
如果我添加2126,则保持不变。
取出2个,它将火箭发射到80。
我无法预测。
我正在运行SPI
mode0 (但已尝试所有4个)
8位数据高度
在CE输入之前,先将LD输入向下和向上拉。
我不知道我做错了什么。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我正在尝试与覆盆子PI 3沟通
输入由12伏驱动,LED连接到LED驱动器。
SPI连接上的数据很奇怪。
例如,如果LED上有120作为二进制,则SPI输出上有126。
如果我添加2126,则保持不变。
取出2个,它将火箭发射到80。
我无法预测。
我正在运行SPI
mode0 (但已尝试所有4个)
8位数据高度
在CE输入之前,先将LD输入向下和向上拉。
我不知道我做错了什么。

SPI0 miso连接到SN65HVS885的引脚23
SPI0 MOSI连接到引脚27
SPI0 SCLK连接到引脚25
SPI0 CS0连接到引脚24
引脚29 GPIO 5也连接到引脚26
我真的没有一个示意图,但我希望这已经足够了。
我需要为正在构建的编码器读卡器提供此接口,我需要使用SPI或i2c进行输入读数。
(我知道编码器只使用2个输入,但我也使用另一个芯片进行高速读取,它提供8位输出)
从我的试验中获得
-如果我将1个输入调高,则读数全部正确。 按第8个按钮,第8位将变为高,依此类推。
-如果我同时按一个较小的位和一个较高的位,则较高的位位置是正确的,但较小的位在较大的位位置亮起。
例如
只需按第7个按钮 ,输出为第7位
然后,同时按第2个按钮和第7 ,输出为 第7位和第3位。
另外,如果同时按下前4个按钮 ,则前4位将会变高
但如果我只按下第3个按钮,则只有第1个位的输出会变低。 2 3 4仍然较高。
LED驱动器正确时,从SPI读取的输出I错误。
我在所有4种SPI模式中都尝试过此操作。
还尝试将sn65hvs885上的SPI数据输入提高到数据表中所说的高,但我获得的数据要忙得多。
而且,很抱歉,我不能完全理解您在示意图中的意思,我希望这是好的。
另一方面,我与这块芯片并不是特别不可分割的,所以如果有人知道另一个芯片,我可以用这种方式,那就很好了。
同时感谢您的回答。 希望有人会说你把它张贴在错误的地方或其他地方:)
编辑:我注意到,很难想象问题的发生,所以我制作了一个小视频并张贴在youtube上,
www.youtube.com/watch
您好,Tahir,
感谢您为我录制视频,以便快速捕捉您需要的内容。 此外,您的系统级方框图也足够了。 我请求使用原理图,因为我假设您使用的是原理图,而不是系统级方框图。
我怀疑这很可能是按下开关时出现的恢复问题。 下面是从逻辑低到逻辑高的任何电压波形示例。 您可以看到切换窗口。
如果DB0和DB1现在接地,请同时浮动。 DB0和DB1浮动意味着将应用最大内部反跳滤波器。
我想提出另一个问题。 您通过SPI读取SN65HVS885的频率如何? 当您按下开关时,SN65HVS885是否可能在恢复期间锁定错误的数据,同时SPI读取 错误的数字? 换言之,我觉得在您的应用程序中,您可能需要不断地通过SPI读取并更新LCD上的数据。
出于我的好奇,您是否对其他设备持开放态度? TI具有 SN65HVS885的后续器件。 我认为它可以为您的设计节省很多,并且可以处理您的CPU监控活动。 我认为唯一的挑战是设备本身不是很容易配置,但它具有许多功能。 优点是我们有GUI和EVM。 您可以在GUI上配置所有寄存器并操作设备。 以下是链接
再次感谢您的回答,
DB0浮动,DB1连接至GND。
您还可以在视频中看到,右侧的红色LED指示灯是LD输入,每次变为LOW (低)时,SPI都会读取输入值。
大约每秒10次。 我尝试放慢速度/加快速度,但没有结果。
我对其他设备持开放态度,但这种设备似乎非常全面。
不是在我制造的这台机器上,但我一定会尝试这台机器。 如果我能成功完成这一步,我将制作一个3维版本,我可以在那里使用24个输入。
虽然我想我会把这个芯片称为“退出”,然后用图片来制作它。
我仍然不知道是编程/设计问题还是芯片本身问题。
感谢大家的帮助。