终止字符演示,一个学习串行通信的游乐场。
项目描述
终止字符演示
欢迎来到这个终止字符演示,一个学习串行通信以及如何在计算机和串行设备(如Arduino或示波器等)之间交换的消息末尾标记方式的游乐场。在这些演示中,客户端是您的计算机,而服务器是外部设备。注意:建议您将终端窗口设置得足够宽,以便为所有小部件留出足够的空间。本应用程序是用Python和✨出色的✨ Textual框架编写的。
玩一会儿!一些建议
- 从基本演示开始:如果收到完整消息,服务器将自动回复。
- 尝试发送消息,手动添加或不添加终止字符。服务器期望哪些字符?
- 在客户端的“写入终止字符”字段中设置终止字符。发送更多消息。发生了什么?
- 尝试读取消息。您需要指定读取终止字符吗?
- 如果您这样做会发生什么?收集至少两个回复并逐一读取。
- 最后,您可以尝试高级演示。在这里,您操作客户端和服务器。尝试不同的终止字符和读取超时设置。如果您尝试读取但尚未收到消息,会发生什么?
- 在高级演示中,缓冲区有固定大小。如果您尝试溢出它们,会发生什么?
详细信息
基本和高级标签非常相似,但后者标签允许用户更改一切,而前者标签只允许用户更改客户端设置。服务器设置模仿运行定制VISA兼容固件的Arduino。向Arduino发送的命令应以换行符\n
终止,而从设备接收到的命令将以回车符后跟换行符\r\n
终止。基本演示将在每次正确接收到消息时向客户端发送响应。
界面
输入缓冲区是您发送的命令到达的地方,在它们被设备明确读取之前。它们通常具有有限的空间。水平条的颜色将指示剩余空间的大小,而缓冲区内容的颜色将指示正确终止字符的存在。如果无法确定消息的结尾,则消息将显示为红色。如果消息的结尾缺失,则内容将着橙色。另一方面,如果消息正确终止,则将显示为绿色,而终止字符本身将为蓝色。您可以在每条消息的末尾明确输入终止字符,或者您可以在写入终止字符小部件中设置它们。如果您这样做,每次发送消息时,终止字符都会自动添加到末尾。点击读取按钮以从输入缓冲区读取消息。如果读取终止字符设置不正确,则应用程序可能会一直等待或在每条消息的末尾显示一些乱码。应用程序日志记录所有发送和接收的消息。高级标签上的超时允许用户设置读取超时。如果它们设置为0,则设备在接收到完整消息之前不会停止读取。如果超时设置为n,则在n秒后如果没有接收到完整消息,读取将中止。
背景
计算机和数字设备通常需要相互通信。多年来,开发了许多通信标准和协议。它们通常涉及交换某种消息。在读取和写入时,标记消息的结尾很重要,这样设备就知道何时停止读取并开始处理。在许多协议中,这通常是通过一个或两个特殊字符完成的,称为终止字符。
在交换短消息的简单协议中,终止字符通常是换行符的一种形式。这类字符在(电子)打字机的早期就已经被引入,其中回车符意味着返回行首,换行符意味着移到下一行。打字机有一个可以用来将游标移回行首并,同时,将纸张送出以移到下一行的手柄。这类控制字符至今仍用于在计算机上的文本文件中标记行尾。在C和Python之类的语言中,回车符通常表示为\r
,而换行符同样表示为\n
。从DOS派生的操作系统如Windows使用回车符加换行符\r\n
作为行结束,而从Unix派生的操作系统如macOS和Linux只使用换行符\n
作为行结束。时至今日,当用户在不同操作系统之间交换文本文件时,这可能会让用户感到困惑。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。
源代码分发
构建分发
termchar_demo-0.3.0.post2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 81d4fe8e8a19dc5718c8db7320568bee3b09713b9678efd01e6cea36c0c620e0 |
|
MD5 | d1d9bc4405c61bac84a3c5c916d35a92 |
|
BLAKE2b-256 | ac687c8d86641b14142ce7b9073f28dbd4b575d052823c19312b947b52b36074 |
termchar_demo-0.3.0.post2-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9e3dce5e17dfc9201d64b15b0251eda929042431c118fc594751f0c304ad38ab |
|
MD5 | 957762776400f2a2f4dde5707d01408b |
|
BLAKE2b-256 | f64a2a9ee00ca85edff5458ceb6f1e2b061e1dd5de3050c502622494fb1b6d42 |