实际二进制值与示波器值之间的差异
电器工程
串行
示波器
2022-01-16 16:46:25
3个回答
如果您查看 Arduino println()文档,您会发现它在末尾附加了一个回车符和换行符。因此,在十进制中,您最终会得到 65 (A)、13 (CR) 和 10 (LF),二进制转换为:
01000001 00001101 00001010
异步串行数据首先发送 LSB,因此变为:
10000010 10110000 01010000
您的信号处于空闲状态,因此起始位为 0,停止位为 1,因此将其添加到每个字节,最终得到:
0100000101 0101100001 0010100001
从您的图表中计算出确切的时间有点困难,但这似乎至少大致匹配,并且应该让您了解一些额外的位来自哪里以及它们为什么被重新排序。Kvegaoro 提供的 Wikipedia 链接提供了很多关于异步串行数据的良好背景信息。
如果您显示的流是异步串行的,示波器将显示相应的起始位、停止位和奇偶校验位。还要考虑您的信号是否反转以及天气是最高有效位优先还是最低有效位优先。如果您添加有关您在图片中表示的串行流的更多详细信息,我们可以为您提供更好更详细的答案,否则这只是一个有根据的猜测