我将如何使用 c 中的微控制器对模数转换进行编程

Posted

技术标签:

【中文标题】我将如何使用 c 中的微控制器对模数转换进行编程【英文标题】:How would i program analog to digital conversion using a microconroller in c 【发布时间】:2011-05-30 16:26:23 【问题描述】:

我正在做一个 dsp 项目,我想获取一个模拟文件并使用连接到 dsp 板上 ADC 的微控制器将其转换为数字输出。我将如何在 c 中编程?

至少我认为就这么简单。

这是我需要的。

输入------输出

Angolog --> 数字

数字 --> 模拟

【问题讨论】:

我认为你低估了这个项目的规模。但是,您可能会在电子学和机器人学方面得到更好的回应。 electronics.stackexchange.com 【参考方案1】:

您确实需要澄清您的问题。就像你所说的模拟文件是什么意思?从编程的角度来看,文件系统是二进制的,确保媒体是磁性的或其他技术,并且涉及到模拟。 ADC 从模拟到数字,因此它是模拟输入而不是数字输出。

ADC 模数转换器,将模拟输入输入设备并将其转换为数字,以便您可以在芯片内部使用它们、编程、保存到文件等。

DAC 数模转换器,获取数字值并将其转换为模拟输出。

在这两种情况下,您都需要查看芯片和电路板的具体细节。从编程的角度来看,如果没有其他问题,您需要查看 ADC 和/或 DAC 的详细信息。具有 ADC 的微控制器并不少见,但您需要了解如何让该微控制器上的 ADC 启动采样、如何知道采样何时完成以及如何在采样后读取数字数据。 DAC 通常是外部的,有时是串行的,因此您可能需要检查 spi 或 i2c 或查看微控制器可能具有哪些硬件来说出 spi 或 i2c,或者微控制器中是否有 dac,如何使用它(哪些寄存器写等)。

如果您有特定的公开可用的微控制器板,例如评估板,那么这里或其他地方的人们可以更轻松地向您展示在哪里查找原理图、数据表等。否则,即使确切地知道在提出这样的问题时,使用了哪个微控制器和哪些 I/O 引脚会很有帮助。可能有很多可以借鉴的示例程序。它可以像现有库中的几行 C 一样简单,也可以像带有中断服务例程的多行 C 一样复杂,可能还有一些汇编程序。

【讨论】:

【参考方案2】:

这在很大程度上取决于您的硬件,并且问题中没有任何信息可以提供真正的答案。

一般来说,您应该查看系统文档,尤其是 AD/DA 部分。应该有很好的例子。如果有特定问题,请发布更具体的问题。

【讨论】:

以上是关于我将如何使用 c 中的微控制器对模数转换进行编程的主要内容,如果未能解决你的问题,请参考以下文章

如何在微控制器中创建 UART Pass through

如何制作自己的微控制器?

USB 编程

如何为我的 ADC 输出添加迟滞?

ARM Chromebook 上的微控制器开发

8位微控制器可以使用32位整数吗? (反之亦然)[重复]