介绍ADC寄存器的读取

在“使用 node 将 iot 与嵌入式连接.js第 3 部分”中,我们查看了用于读取加速度计的软件包。在第4部分中,我们将重点介绍adc寄存器的读取。
该包演示如何运行从 node.js 调用的 c 代码。此代码通过 cpu 中 i.mx28 adc 寄存器的存储器映射来实现这些寄存器的读取。此代码直接取自技术系统公司为 ts-7680 提供的样本代码。这里的主要补充是将 node.js 接口到 c 的代码。
node.js使用c++接口,因此代码必须以c++编写。我们的实施是在。在此文件中,有一个改编自 的函数,该函数打开并将 cpu adc 接口的三个区域存储器映射到指针。这些器件可用于访问执行adc功能所需的cpu寄存器。
其次是功能,也改编自其设置adc并获得7个样本。对这些样本进行平均并放置在缓冲区中。
必须将“node.js的本机抽象”或 nan 的包含文件放在文件的顶部。随着 node 的成熟.js,用于创建加载项的界面发生了变化,nan 抽象出这些差异,以允许创建适用于 node .js 版本 0.8、0.10、0.12 和 1-7 的代码。
用于创建 node.js加载项的代码位于函数中,符合 node.js加载项的参数要求。具体来说,它有一个看起来像这样的原型:
我们采用一个名为 的参数。这是一个复杂的nan类,我们目前不需要担心。
在此函数中,首先声明一个缓冲器来保存来自所有 8 个 adc 的采样,这些 adc 由 读取:
接下来,如果尚未调用,则调用。全局变量用于确定以下内容:init
现在调用以用样本填充缓冲区:
接下来,构造一个长度为 8 的 javascript 数组,并将此数组中每个元素的值设置为相应的 adc 示例值:
然后,将数组设置为从 javascript 调用函数所显示的返回值。这比简单的语句稍微复杂一些,因为它从c++桥回javascript!
除了函数之外,还必须定义一个函数(注意大写的“i”,这使得它与我们的函数不同)。此处的两个重要部分是 “” 和 。它们定义了为访问函数而调用的 javascript 端的模块元素的名称,以及c++端被调用的函数的名称:
现在,调用一个宏将函数与模块名称相关联:
该文件提供了一个精简包装器,它通过调用 中定义的 addin 函数对 adc 值进行采样,然后在连接套接字上输出这些值来响应对 adc 值的请求。
此行的开头设置了绑定节点,我们的c++加载项:
具体来说,该模块返回一个函数,该函数使用二进制文件的相对路径调用。这将在构建过程中从c++源代码创建,并具有“.node”后缀。从调用返回的是引用加载项的 javascript 对象。由于附加组件定义了一个函数 ,因此此函数可作为返回对象的元素进行访问。调用此函数实质上是调用c++代码。
接下来是函数。它是一个标准的快速处理程序函数,每当客户端请求终结点时都会调用它。它记录条目,将响应的内容类型设置为 ,然后调用c++代码来检索 adc 值。然后,它获取数组并将其转换为字符串,每行有一个数字:
最后,设置为初始化函数,该函数检查用于更改终结点字符串的选项,并将终结点与函数关联:
该文件包含编译c++代码所需的信息。安装包时会自动调用生成过程。
在下一期也是最后一期中,我们将构建一个用户界面,该界面利用我们已经实现的服务,以便从web浏览器控制开发板。


咕咚GPS运动手表S1评测 具备了大部分GPS运动手表的质地和功能
免费下载 | T/SZZLD001-2021 《智慧路灯系统工程技术规范》
华为黑科技 华为云电脑
全球存储发展简史(DRAM、NAND Flash和Nor Flash)
上拉电阻与下拉电阻的定义及作用
介绍ADC寄存器的读取
为什么过程控制系统采用4~20mA模拟信号传输标准
曝NVIDIA将于7月2日发布Super显卡
!销售/回收 HP4395A HP87512A 阻抗测试 A
扬尘监测仪在智慧工地的应用
当华为邂逅Vogue:迸发不一样的火花!
SK海力士发布2022财年第三季度财务报告
华为P50系列或将问鼎DXOMARK榜首
用3DA87C制作调频发射电路,3DA87 FM transmitter
OSPF状态机详细过程简析
DC-DC升压电路图和工作原理讲解
智能手机怎么做防水
基于DSP和CPLD的小型无人机飞控计算机设计
MAX1121 1.8V、8位、250Msps模数转换器,L
深信服存储:老道的新手