首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用纯数据读取多通道串行usb

用纯数据读取多通道串行usb
EN

Stack Overflow用户
提问于 2013-04-25 14:19:56
回答 1查看 929关注 0票数 2

我有来自8通道ADC芯片的多通道串行数据,我正在通过串行USB电缆连接到我的计算机。我想在纯数据中使用这些单独的通道,但是pd_comport对象不读取多通道串行数据。我已经在警局讨论过了,但没有提到该怎么做。对我怎么做有想法吗?

EN

回答 1

Stack Overflow用户

发布于 2013-04-26 11:33:10

根据定义,串行连接仅为单通道.如果您有多个(同步)通道,则称为并行。

因此,您的问题基本上是以下两个问题之一:

并行串行流

如果您通过不同的串行连接传输8个ADC-通道,则您的(特殊)电缆应该注册8个不同的设备(例如/dev/ttyUSB5/dev/ttyUSB6、./dev/ttyUSB12)。在这种情况下,只需使用多个[comport]对象(每个要接口的串行设备一个)。

单复用流

在(更可能的)情况下,您的ADC通过多路复用数据在单个串行连接中传输它的8个通道,您将不得不自己对串行流进行解复用。如何做到这一点,在很大程度上取决于数据的实际格式。

假设您的ADC只有8位,而且您只有4个通道(为了简单起见),那么您可能会收到一个串行流,如:... A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 .... (带有A、B、.作为四个通道的样本;和1,2,……(作为示例帧),然后您可以将信号分解为4个流,如下所示

代码语言:javascript
运行
复制
|
[t b              f]
|                  |
|  +------------+  |
[i ]/[+ 1]/[% 4]/  |
|                  |
[pack      0      0]
|
[route 0 1 2 3]
|  |   |   |

在实践中,您的协议看起来可能略有不同(例如,应该有一种方法来指定帧边界(不可能只查看数字,无论您实际看到的是A1 B1 C1 D1 A2 B2还是B1 C1 D1 A2 B2 C2,因此不清楚第一个示例是属于channelA还是channelB)。

因此,您确实必须掌握协议定义,并解释从[comport]获得的数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16217252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档