问题标签 [ps2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1544 浏览

embedded - 通过 PS/2 端口发送数据

我正在为 LPC2148 从头开始​​编写鼠标驱动程序,但我坚持这一点。我可以从键盘接收数据,但鼠标需要向其发送命令代码。最好的方法是什么?

0 投票
3 回答
1942 浏览

keyboard - 如何过滤键盘事件?

我正在为 spartan 3E 入门套件编写一个乒乓球游戏 vhdl 代码。我想用我的 PS2 键盘控制游戏手柄。为此,我需要从键盘接收到的扫描码生成向上和向下信号。

这是示例代码

但是,如果我使用此代码,即使在键盘上释放 Q 键之后,向上键也将始终保持“1”高电平。我希望向上信号保持高电平,直到我按住 Q 按钮,如果我松开它,向上信号必须返回到“0”。基本上我希望我的键盘按键能够像普通按钮一样工作。如果我按住它必须给出高信号,否则如果松开它必须给出低信号。

0 投票
1 回答
1945 浏览

usb - 我正在尝试使用 PS2 鼠标草图将 Genius 鼠标连接到 Arduino,但它不会初始化鼠标

我一直在使用此消息底部的鼠标草图(由其他人编写)来尝试从 PS/2 鼠标中获取运动数据。我检查了这款鼠标的规格,上面说它是 PS/2 兼容的。但是,当我运行它时,它似乎停在 mouse_init 的第一行,上面写着“mouse.write(0xff); // reset”。这是对 ps2.h 中函数的调用。ps2.h 自 2008 年以来一直存在,并已在许多项目中使用,所以我认为它没问题,但我想知道 USB 鼠标连接为 PS/2 鼠标时是否有一些特殊的功能,而这个库从来没有旨在应对。有没有人有任何经验可以说明这一点?

我已经能够确定 mouse.write 正在改变我的 Genius 鼠标的状态,但它卡在了鼠标应该将时钟状态拉低以便主机可以继续传输数据的点。在 mouse.write 开始之前,时钟状态是低的,但是它被主机推高了几行到 mouse.write 并停留在那里。鼠标再也不会把它拉低了。任何关于问题可能是什么的想法将不胜感激。

0 投票
0 回答
715 浏览

assembly - 在 DE2 板上生成 PS2 中断

我正在尝试在带有 NIOS II 处理器的 DE2 板上生成 PS2 中断。下面的汇编代码是一个非常简单的中断服务程序,但它永远不会被执行。我已经检查并检查了代码,但我无法找出问题所在。附上PS2接口的链接。

任何建议表示赞赏。

问候。

NIOS II PS2 文档

0 投票
2 回答
8715 浏览

keyboard - ps/2键盘接口VHDL

好的,所以我正在尝试实现一个键盘控制器以与 Altera DE2 FPGA 板一起使用,并且遇到了一些问题。我已经在 quartus 模拟器中运行了这段代码,一切似乎都在做我认为应该做的事情。但是,当我尝试将其编程到 FPGA 上时,没有任何效果。我已将其定位为我模拟 ps/2 时钟的方式,而系统时钟似乎并不是它们实际运行的方式。

我模拟了 50 mhz、20ns 周期的系统时钟和 90ns 周期的 ps2clock。在整个仿真过程中将 ps2data 设置为随机值时,会将正确的位加载到 8 位扫描代码中。问题是当编程到板上时,状态机永远不会离开空闲状态。当数据位为零时,状态机应该在 ps2 时钟的下降沿离开空闲状态,这似乎永远不会发生。我将 ps2data 和 ps2clock 引脚连接到正确的输入,但似乎无法找出问题所在。

我没有添加对此进行测试的顶级实体,但它只是获取输出 keyCode 并将其发送到 7seg 显示器之一。我觉得这个问题的答案与 ps2clock 有关,我只是不确定到底是什么。

0 投票
2 回答
157 浏览

c++ - 指针删除崩溃

编辑:

我已经实现了复制构造函数(都来自建议的答案)。我已经在我的控制器类以及它的子类中的等效版本中做到了这一点。但是,这并没有解决问题。此外,函数中的计数器和控制台注释removePawn()(程序中唯一调用 delete 的地方)表明它只被调用一次。

更详细地说,每个子类都有一个实例(不是指针)。这些是在我的world课堂上声明的。两者都通过类指针用作相同world类方法中的参数。baseController问题是,虽然两者都以相同的顺序执行相同的进程,但如果一个类removePawn()调用了它,则程序很好并且将继续运行。但是,如果第二个类removePawn()(特别是删除)调用了它,它会在该指令处使程序崩溃。

我也查了地址。分配后指针的地址与删除点的地址相同。

更多信息:仅当玩家被杀死(删除然后给予新棋子)时,我才会在关闭程序时收到分段错误。但是,如果程序在第一次新删除和最后一次删除的情况下启动然后关闭,那么它运行得非常好。

原来的:

我在使用指针时遇到了一些麻烦。我理解他们并相信我的代码相当健壮,但是在调用这部分代码时我似乎完全崩溃了。

Pawn 是一个初始化为 NULL 的 basePawn*。

这是 PS2 程序的大学作业,所以我的调试仅限于控制台的基本打印。

删除删除行允许主要的新建/删除部分运行几次,但它最终也会崩溃(我认为这是因为达到了内存限制,但我不能确定)

我检查了所有常见的罪魁祸首,指针被初始化为 null 并且只删除一次(也总是调用 new)。

我可能犯了一个相当明显的错误,但我不知道。任何建议都会很棒。(如果需要,我可以发布更多代码)。

编辑:

以下是代码结构的工作原理。

basePawn 是一个具有一些相当基本的方法来表示角色的类。

Controller 是一个类,其指针指向用作角色大脑(AI 或玩家控制)的 basePawn(最初设置为 NULL)。它包含一个 removePawn 方法。

这个方法在析构函数中被调用。当pawn 从关卡中移除时,它也会被调用。

它还有一个重生方法。

编辑:

baseController 头文件

0 投票
0 回答
1230 浏览

embedded - 使用 SPI 将 PS2 操纵杆与 atmega640 连接

我正在尝试将 PS2 操纵杆与带有微控制器 SPI 的 avr Atmega 640 接口,互联网上有许多位爆炸代码,但我想在 AVR 中将 PS2 与 SPI 接口。我已经在 winavr 中编写了代码我已经编写了代码但是当按下按钮,相应的 LED 开始闪烁而不是关闭

朋友您的帮助将不胜感激

0 投票
1 回答
280 浏览

keyboard - PS2 键盘延迟错误/VHDL

我有一个由这个键盘接口引起的问题。我正在尝试用键盘和放大器制作数码钢琴,但是当我们按下按钮时声音没有发出;有约 1 秒的延迟。你能帮我解决这个问题吗?当我们更改代码部分时

Shift2_next <= Shift1(0) & Shift2(10 downto 1);

Shift2_next <= PS2Df & Shift2(10 downto 1);

按键立即发出想要的声音,但现在声音不会停止;在这种情况下,我认为中断代码已损坏。希望你能帮忙。谢谢。

0 投票
0 回答
344 浏览

arduino - 将计算机设置为通过 ps/2、usb 或其他有线连接连接到另一台计算机的 HID 设备

我有兴趣设置一台机器(主机 A)并通过 USB 或 ps/2 将其连接到另一台机器(主机 B),以便主机 B 将主机 A 识别为键盘。在主机 A 上,一个人工神经网络正在运行,它动态生成输入序列。对我来说重要的是,主机 A 只能以“人”的方式与主机 B 通信,例如生成击键并将它们传递给主机 B。

据我所知,使用 USB 连接是不可能的,因为主机到主机的连接是不可能的,进一步的 ps/2 连接应该是可能的。

我也知道 Arduino Uno 或 Leonardo 可以用作 USB HID 键盘,但由于我必须提前对设备进行编程,所以使用它们没有用,因为在 Arduino 上运行神经元网络是不可能的。就像是:

YouTube

也会很有趣,不幸的是它是俄语的:(

但是,我并不局限于如何开始以及哪个起点适合我的问题。

出于这个原因,我很感激任何提示如何做到这一点。

0 投票
1 回答
1416 浏览

keyboard - 在 Verilog 上测试 ps/2 的代码

我有一个带 ps/2 连接的罗技键盘。我还有一个 Baysis2 fpga,我想用它来读取键盘输入。问题是,键盘似乎没有通电。我可能是错的,但是当我将它连接到我的电路板时,键盘上的灯都不会亮起。

我的问题是:这正常吗?我认为灯应该打开,因为电路板应该为键盘供电。

谁能给我一些简单的代码来明确测试我的键盘是否正在接收数据?我试过的都没有用。