Files
KinginfoGateway/doc/docs/30001.mdx
Kimdiego2098 15aabc88a1 更新文档
2024-02-18 18:26:46 +08:00

36 lines
1.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: 30001
title: 串口
---
import useBaseUrl from "@docusaurus/useBaseUrl";
import Tag from "@site/src/components/Tag.js";
import Highlight from '@site/src/components/Highlight.js';
### 前言
串口使用一个称为串行通信协议的协议来管理数据传输。串行通信协议在数据传输期间控制数据流,包括起始位、数据位、波特率、校验位和停止位等。
下面每个名称做一个简单的解释。
``波特率``是指串口通信中每秒传输的二进制位数
``起始位``是1位时间、值为0的位所以对于正逻辑的TTL电平起始位是低电平起始位代表着数据传输开始。
``数据位``通常可能为1位、1.5位、2位时间。
``校验位``是1位时间根据校验方式确定验证值比如奇校验时计算数据位中的值为1的个数如果是奇数则为1否则应为0
``停止位``通常可能为1位、1.5位、2位时间。停止位是值为1的位所以对于正逻辑的TTL电平停止位是高电平。停止位代表着数据传输结束。
线路路空闲或者数据传输结束对于正逻辑的TTL电平线路总是1。对于负逻辑(如RS-232电平)则相反。
单看文字很难理解具体含义,所以我们看图说话,下面这张串口示波器图清晰的表现出二进制的传输原理
<img src={require("@site/static/img/docs/串口1.png").default} />
如上图可以看出2进制是 起始``1``、数据(右到左)``01010101``、停止``0`` ,那么解析出来的数据就是``0x55``
看到这里相信大家都对串口知识有了一定的理解这些基础知识对于c#工程师看似没有必要,但可以让你的实际调试开发工作更加得心应手