问题标签 [hardware-programming]

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 投票
0 回答
37 浏览

audio - 如何为 10 个扬声器提供 10 种不同的信号?

如何使用 Raspberry Pi 3 及其或任何其他配件同时向 10 个不同的扬声器输出 10 个不同的音频通道?

我有 10 个不同的 mp3 文件,我想将每个文件输出到不同的扬声器,彼此独立。我不知道我应该使用什么硬件,因为我只能使用笔记本电脑或 Raspberry Pi 为两个扬声器供电。

我可以使用 USB 集线器(1 个 USB 到 10 个 USB)和 10 个 USB 到音频适配器吗?如果是这样,我如何使用 Wolfram 语言或 Python 喂养它们?

0 投票
0 回答
447 浏览

c# - 将 .net API 与 python 包一起使用

我有兴趣控制一些具有用 C# .NET 编写的 API 的仪器。根据我的经验,如果我使用 IronPython,那么我不能使用像 Numpy 和 Scipy 这样的 python 包。但是,我想看看是否有另一种方法可以调用 .net 库并能够使用 python 来实现我的控制和数据分析算法?

0 投票
1 回答
2689 浏览

verilog - 为什么有模块时在verilog中使用函数

第 1 部分

我总是被告知要使用 Verilog 中的函数来避免代码重复。但是我不能用模块来做到这一点吗?如果我的理解是正确的,那么所有函数都可以在 Verilog 中重写为模块,除了模块不能从 always 块内部实例化。除了,在这种情况下,我总是可以坚持使用模块。我对么?

第 2 部分

如果我是正确的,为什么 Verilog 编译器不能以模块得到函数处理的方式编写?我的意思是,为什么编译器不能允许程序员在 n 块内实例化一个模块并停止支持函数?

0 投票
0 回答
39 浏览

assembly - x86 CPU 如何根据硬件中断知道要运行哪个 ISR

x86 CPU 如何根据硬件中断知道要运行哪个中断服务程序?我的意思是,它们是硬件中断号和特定中断服务程序之间的某种映射。如果是这样,这个映射叫什么,谁或什么将它加载到内存中?

0 投票
1 回答
1499 浏览

verilog - 我在verilog中面临“尺寸不匹配错误”

//------------------------------------------------ --------------------------//

//------------------------------------------------ --------------------//

//------------------------------------------------ ------------------------------------//

N1 和 N2 的值为 5。我收到错误“端口 (data_out) 连接的大小不匹配。正式端口大小为 10 位,而实际信号大小为 1 位”

我已将 data_out 端口的大小设置为 10 位,但它仍然显示信号大小为 1 位。

0 投票
0 回答
43 浏览

x86 - 等待获得击键的时间

我编写了一个记录击键的程序,但是当我的程序延迟一段时间时,一些击键丢失了。我需要延迟多长时间才能读取 intel 8042 的输出缓冲区?这是我的来源:

多久后我可以读取输出缓冲区?

0 投票
1 回答
414 浏览

hdl - 使用 .hdl 和硬件模拟器 (nand2tetris) 实现计算机处理器的组件

我无法将 .hdl 文件加载到 HardwareSimulator 中。到目前为止,我已经实现了 FullAdder.hdl 和 Add16.hdl。

我收到的错误消息是

这是 Add16 的相关代码:

我正在努力寻找错误,因为我很确定我在过去以完全相同的方式实现了这个芯片并且它工作正常。

至于全加器,它是相同的错误消息,但对于第 16 行。

我还将为此部分提供相关代码:

关于第 16 行的错误,我无法理解。那是在 FullAdder 中的终止括号之后。

我浏览了互联网,据我所知,我的实现是完全正确的。任何精通计算机处理器领域的人有什么建议吗?这对于遇到相同/类似问题的任何其他人肯定有用。

谢谢

编辑:根据这个链接逻辑门,我的实现看起来或多或少完全相同。会不会是我的 HardwareSim 有问题?尽管我对此表示怀疑,因为我过去曾使用过它,并且是我的大学向我推荐的。

0 投票
0 回答
211 浏览

eigen - Catapult HLS 工具中是否支持 Eigen C++ 模板库?

我使用 HLS 工具作为弹射器来生成 HDL 代码,稍后我将在 FPGA 中应用我的项目。但是,我在尝试使用 HLS 弹射器工具中的特征库编译算法时遇到了很多问题。HLS 错误消息显示了一些Internal assertionExtern std::CerrAssertion以及 Eigen 库的更多问题。

有没有人有一些使用它的经验?有什么特别的考虑吗?

0 投票
1 回答
226 浏览

c++ - 如何在我自己的 Arduino 库中使用外部库?

晚上好!

我正在写一个 Arduino 库。在其中,我想从另一个库中实例化一个对象,该库的构造函数需要传递一个参数,但我不想硬编码这样的参数。我需要一些关于如何做到这一点的指导。

到目前为止,这是我的代码的相关部分:

汇丰银行_CAN.h:

HSBC_CAN.cpp:

需要明确的是,从 MCP_CAN 类中实例化对象的方法是MCP_CAN foo(int bar),其中bar是 SPI 协议的片选引脚号。我希望我的库实例化 MCP_CAN 类的对象,但在从我的新类 HSBC_CAN 实例化对象时,我需要能够传递芯片选择引脚号。这是我使用上面的代码得到的错误:

可能我在示例代码中所做的方式是完全错误的(使用extern关键字和new运算符),但这正是我脑海中 ATM 的结果。

谢谢你的时间。

0 投票
2 回答
151 浏览

linux - 音频驱动程序基地址、DMA 和 IRQ

在过去,您会寻找基本地址、DMA 和 IRQ 来与设备通信。我有点在寻找等价物。

我希望在 Linux 中直接与音频设备通信,而不是通过驱动程序。时间不是问题,但我正在努力寻找所需的信息,而且我知道可能需要大量代码,这很好。

我想知道是否有人能指出我实现这一目标的正确方向。

非常感谢。