添加页眉和页脚字节以方便地分隔串行数据包。可以为I2C传输指定超时。
第24页
图17串行数据包结构(发送到Arduino)从PC到Arduino的字节0 Header=0xFF 1 Header=0xFF 2 Header=0xFF 3 Header=0xFF 4传感器的I2C地址5超时(以100ms为增量)6 ID(应答回显)7读(0x01)或写(0x02)8读/写位置9 N字节读/写(最大32)10->(10+N-1)数据写入0字节读取请求11+N 0xFF–表示数据包12+N Footer=0xFF 13+N Footer=0xFF 14+N Footer=0xFF 15+N Footer=0xFF结束
第25页
图18串行数据包结构(从Arduino发送)从Arduino到PC的字节0 Header=0xFF 1 Header=0xFF 2 Header=0xFF 3 Header=0xFF 5 1如果超时超过6 ID(回显传输ID)7 Timestamp MSB 8 Timestamp 9 Timestamp 10 Timestamp LSB 11 N I2C要发送的字节(最大32)12->12+N I2C数据13+N Footer=0xFE 14+N Footer=0xFE 15+N页脚=0xFE 16+N页脚=0xFE
第26页
4.4.NET API示例
本节提供有关用于构造PC GUI应用程序的.NET API的一些详细信息。
从下载.NET接口和演示应用为了方便起见,低级PC接口被封装在两个.NET组件中。
1.ArduinoSingleActDriver–基本的Arduino接口。用户必须创建其中一个。
2.SingleTact–可以有多个SingleTact,每个都有自己的I2C地址。
创建SingleTact界面非常简单:
ArduinoSingleActDriver.初始化(COMport)//启动Arduino驱动程序
singleTact\ I2cAddressForCommunications=0x04//设置I2C地址
单触键初始化(ArduinoSingleActDriver)//起动传感器
使用以下方法读取传感器:
SingleTactFrame newFrame=singleTact_u2;.ReadSensorData()//获取传感器数据
if(null!=newFrame)//如果我们有数据
{//处理结果}
可以使用以下方法从传感器中提取设置:
singleTact_u3;.PullSettingsFromHardware();
并通过以下方式发送到传感器:
singleTact_u3;.PushSettingsToHardware();
注意:可以使用以下命令修改传感器设置:
singleTact\.Settings.ReferenceGain=###
第27页
5资源
SingleTact主页
I2C总线规范和用户手册第6版Arduino之家
Microsoft.NET框架
第28页
6词汇表
美国石油学会
应用程序接口
疾控中心
电容数字转换器
数据采集
数据采集
FFC公司
柔性扁平电缆(连接器)
FSR公司
满标度范围
I2C
内部IC总线
集成电路设备
集成开发环境
LSB公司
最低有效字节
最高有效位
最高有效字节
.NET
Microsoft.NET软件框架
非挥发性物质
非易失性存储器
RS-232系列
串行通信标准
第29页
7修订历史
修订版2.0
1) 删除第3节更新接口板。
2) 更新了表1接口板设计细节的可访问性。
修订版2.1
1) 添加了修订历史记录。
2) 第1节:参考校准和未校准产品选项。
3) 图2:固定了脚注3中的链接。
4) 表1:增加了I2C传感器的输出范围。
5) 表2:更正了以下参数的地址:40分隔符–保留为0xFF 41传感器基线MSB 42传感器基线LSB
分别为39、40和41。
6) 第2.3节删除了对I2C高速模式的引用。更新了共享一条I2C总线的多个传感器接口的详细信息
7) 第2.4.3节:增加了I2C传感器输出数据值的详细信息。
8) 第2.5节:将输出刻度分辨率从12位修正为10位,并阐明操作输出值。
9) 增加了第2.6节产品类别。
10) 图10:从GUI图像中删除设置参考增益控制(参考增益设置在当前接口板设计中是自动的)。
修订版2.2
1) 固定表1显示正确的最大电源电压(12V而不是5V的规定)
2) 更新版权至2017年
修订版2.3
1) 澄清了255个数字偏移量,并添加了图8来演示。
2) 将手动版本添加到第1页。 |