Questions tagged «hardware»

计算机硬件是构成计算机系统的物理元素的集合

6
为什么硬件除法比乘法要花更长的时间?
为什么硬件除法要比微控制器上的乘法花费更多的时间?例如,在dsPIC上,除法需要19个周期,而乘法仅需要一个时钟周期。 我浏览了一些教程,包括Wikipedia上的除法算法和乘法算法。这是我的理由。 像在Wikipedia 上恢复的慢速除法一样,除法算法也是一种递归算法。这意味着step的(中间)结果k用作step 的输入k+1,这意味着这些算法无法并行化。因此,n完成分割至少需要花费周期,而n被除数中的位数是很多。对于16位除数,这至少等于16个周期。 乘法算法不需要递归,这意味着可以并行化它。但是,有许多不同的乘法算法,我不知道微控制器可以使用哪种算法。乘法在硬件/微控制器上如何工作? 我发现了一种Dadda乘法器算法,该算法只需要一个时钟周期即可完成。但是,我没有得到的是Dadda的算法分三步进行,而步骤1的结果用于步骤2,依此类推。因此,这至少需要三个时钟周期才能完成。

4
我可以将Arduino上的模拟引脚用作数字项目吗?
我是使用Arduino的新手,并且有Arduino Uno。对于我完成的项目,我只使用了数字引脚。 我正在制造一种使用步进电机的小型车辆。我用尽了很多销来控制这辆车的马达。模拟引脚有什么作用?我是否可以使用模拟引脚来控制我连接到Arduino的其余步进电机,还是我必须购买比Arduino Uno大的Arduino来控制这种设备?

3
热交换计算机零件如何工作?
计算机支持热交换,因此用户可以在系统运行时更换硬盘驱动器。那主要是软件只是关闭了硬盘驱动器的电源,还是涉及某些特殊的硬件?如果没有特殊的硬件,那么我想您可以热交换任何驱动器,但是似乎该驱动器必须在硬件中支持它。

3
如何扩展可供我使用的模拟(输入)引脚的数量?
我已经知道如何使用多路复用器扩展Arduino上的数字引脚数量。 我想增加我的模拟输入通道的数量。一种解决方案是添加另一个Arduino作为从属。 如何增加模拟输入通道的数量?(我假设其中涉及一些MUX和ADC)。如果太复杂而无法写出答案,那么电路/代码的总体轮廓也将很好。 我也愿意公开提出建议,但是如果有一个不太硬的硬件解决方案,我会更喜欢它。

2
INPUT和INPUT_PULLUP有什么区别?
在较新的Arduinos,可以设置pinMode三种状态之一:OUTPUT,INPUT,和INPUT_PULLUP。 该页面显示: Arduino上的Atmega芯片具有内部上拉电阻器(内部连接到电源的电阻器),您可以使用该电阻。如果您更愿意使用这些电阻而不是外部下拉电阻,则可以在pinMode()中使用INPUT_PULLUP参数。这有效地反转了行为,其中HIGH表示传感器已关闭,而LOW表示传感器已打开。 我相当确定,但是,改变行为并不是唯一的行为。 怎么INPUT_PULLUP办?它与的区别是什么?INPUT如何决定使用哪一个?

3
为Arduino Nano 12volts供电
我知道Arduino Nano可以处理12伏特电压,并且建议将其供电到7至12伏特电压。所以我想知道我是否只是将12伏适配器与Mini-B连接在一起,还是可以通过ICSP接头为它供电?


3
通孔LED和光电二极管的“指节”是做什么用的?
我使用的是IR LED和光电二极管,并且已经根据数据表上的规格(即引脚的孔尺寸为0.6毫米)设计了PCB。但是,在这些组件上有“指节”(参见下图),并且比其引用的销的孔尺寸宽。 因此,问题在于由于这些指关节,组件无法充分降低到电路板中。他们为什么在那里?我怎么知道它们的宽度,以便弥补这个漏洞?


2
如何使用我的SMD Arduino来编程单独的DIP ATmega328?
我有一个带有表面贴装(SMD)微控制器的arduino: 我知道如何将DIP arduino用作DIP ATmega328的程序员。这很容易-您只需将微控制器放入支架即可。 但是,对于表面贴装的Arduino来说,这并不明显。拆焊微控制器是一种方法,但这是棘手的且具有破坏性。 我可以使用此Arduino作为DIP ATmega328的程序员而不会严重损坏开发板吗?如果是这样,怎么办?


2
针13:我需要电阻吗?
这个问题提到引脚13有一个内置电阻,用于大多数Arduino单元的标配LED。我的一个朋友告诉我,由于该引脚上已经有一个电阻,所以当我将一个外部LED插入该引脚时,我不必放一个电阻。 这并不适合我,因为我到处都读到,插上没有限流电阻的LED 非常不好。我找不到电路图上第13针的位置(仍然习惯于阅读这些引脚),所以我不知道内置电阻器的接线方式。 简而言之,当(小)LED使用引脚13时,是否需要一个限流电阻? 编辑:正如Polar在下面指出的那样,一个电阻就能解决问题。但是,我对于这个单个(内置)电阻的位置真的很好奇。如果它与P13的插头串联,则应该限制电流。如果是并行的,我不这么认为。但是,我的电子知识不是那么广泛,所以我可能会误会...
14 arduino  hardware  pins 


4
单片机确定正在运行哪个硬件版本的好方法是什么?
我正在研究一种新产品,在产品的整个生命周期中,可能会有大小不同的硬件更改/修复。为了将来在现场进行固件更新,我需要一种确定硬件版本的方法。什么是好的策略? 我目前正在使用外部电阻上下拉两个备用引脚,并检查模式。这仅允许进行4种硬件修订,但对于实际用途而言可能已足够。如果将来的硬件版本中我需要这些引脚中的一个或两个,可能会成为一个问题。 我猜更经济的方法可能是将一个电阻分压器连接到ADC引脚。每个硬件版本可能具有不同的阻值电阻。不幸的是,我目前的设计中没有备用ADC。 我想另一种方法可能是在生产过程中在EEPROM或MCU闪存中编码硬件版本号?(我们目前没有该设施。) 我想我正在寻找一种灵活而强大的方法的建议。 [编辑] 回覆。@ trav1s的建议:我本身没有地址总线,但I2C总线上有24LCxx EEPROM。从地址的低3位是硬连线的。我想我可以在启动过程中更改地址位并搜索EEPROM。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.