问题标签 [parity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1563 浏览

linux-kernel - 嵌入式 Linux 中 UART 上的 9 位协议

我试图在嵌入式 Linux 的 UART 上强制使用 9 位协议。目前我正在 am335x_evm 板上对此进行测试。我打算使用棒奇偶校验来做到这一点。理想情况下,我希望我不需要实际修改 omap-serial.c 驱动程序的任何代码。

使用 9 位协议的原因是为了支持一些使用它的旧硬件。奇偶校验位需要为消息的地址部分为 1,数据部分为 0,然后为终止字节再次为 1。

我计划在用户空间中运行一个进程,该进程将通过标准系统调用(打开、写入、读取、ioctl、tcsetattr 等)与 UART 交互。我将配置 UART 以启用奇偶校验并设置棒奇偶校验。然后我将奇偶校验设置为偶数并调用 write() 来发送我的地址数据。然后我会将奇偶校验设置为 0 并发送数据。我担心的是,如果我将奇偶校验从 1 更改为 0,什么时候会生效?如果 UART 没有完成发送所有地址数据,奇偶校验的变化是否适用于任何未发送的数据?

0 投票
1 回答
1267 浏览

c++ - Windows 串行通信,处理奇偶校验位

我在 Windows 中使用串行通信进行编码。在这种通信中,为了让程序识别消息的开始,我必须使用奇偶校验位。

这意味着如果接收到设置奇偶校验位的字节是消息的起点。

例如,如果从串行端口接收如下字节([byte]表示接收到的字节,并且[byte]p表示设置了奇偶校验位的字节)

串口 <-[byte]<- [byte]<- [byte]<- [byte]<- [byte]p<- [byte] : 接收到的序列字节

在设置奇偶校验位的字节之前丢弃 4 个字节后,我必须在消息上方解析。

0XFF 0x00在 Linux 的情况下,如果我收到带有奇偶校验的 1 字节 0xEE,则表示设置奇偶校验位。它表示为0xFF 0x00 0xEE,以便我可以选择起点。

但在 Windows 中,奇偶校验位似乎由 表示为事件EV_ERR,并由WaitCommEvent() 分别读取数据ReadFile()

我认为很难找出奇偶校验错误发生在哪里来区分消息的起点。

有没有办法解决这个问题,实际上因为我是 Windows 编程的新手,我认为必须存在其他方法,对吗?

0 投票
1 回答
470 浏览

asynchronous - 使用异步模式每秒查找字符

在异步模式下,每秒可以在 2400bps 线路上传输多少个字符(7 位 + 奇偶校验)。

我计算它是 300,但书上说它是 240....如何?

0 投票
2 回答
1911 浏览

assembly - 如何在汇编中计算 32 位数字的奇偶校验?

我需要计算一个 32 位数字的奇偶校验并返回它。为此,我必须使用 XOR、SHR、SETP(或类似)和 movzx。有人有想法吗?

0 投票
0 回答
204 浏览

c++ - 64 位计算奇偶校验返回奇怪的答案

我正在尝试使用一个简单的循环来查找数字的奇偶校验,该循环检查每个设置位并增加一个计数器。尽管在 32 位之外的地址上,我似乎有额外的位。例如,当试图找到 1 的奇偶校验时,它应该是奇数并且在索引 0 处有一个“1”,我在索引 0 和 32 处得到一个“1”。任何帮助将不胜感激。代码和输出如下:

C++ 代码:

compute_parity(1) 的输出:

0 投票
0 回答
27 浏览

c - Num 和 Parity Mask 中相同位置的 1 的数量

我正在提供一个函数作为我的程序的一部分编写,该函数将一个短整数 num 和一个短整数奇偶校验掩码作为输入。然后,该函数返回在 num 和奇偶校验掩码中处于相同位置的 1 的数量。例如,如果您输入 num as和0x8parity mask as0x9那么它返回 1。(因为它们在位置 3 处都有 1)。0x8 = 000010000x9 = 00001001

我在网上到处寻找,试图找到一种简单的方法来实现它,但找不到类似的东西。

有人可以向我解释如何编写此功能或就如何开始提供一些建议吗?

谢谢

0 投票
0 回答
1472 浏览

c - 在传输程序中设置奇偶校验位

我正在编写一个模拟通过网络传输字符的程序。我写了以下函数:

我还编写了一个函数,用于计算短整数 num 和掩码中的个数:

和一个设置奇偶校验位的函数:

我还获得了一些应该读取输入并传输它的功能。问题在于我编写的函数之一。

例如,如果我运行程序并输入 hello 作为输入,我应该得到 3220 3160 3264 3264 7420 作为输出,但我得到 0 0 0 0 0。

我似乎无法找到我做错了什么,有人可以帮助我吗?

0 投票
2 回答
647 浏览

c - 奇数位的位奇偶校验码

我在研究寻找位奇偶校验时遇到了这段代码,几乎不知道为什么会这样。有人能告诉我它的算法吗?

0 投票
1 回答
251 浏览

smartcard - 为什么我的智能卡接受两个不同的密钥作为其 MAC 密钥?

正如您在下面看到的,我尝试使用gp -list列出我卡上已安装的小程序。我指定了一些不同的键:

为什么它可以与两个不同的键一起正常工作?

404142434445464748494A4B4C4D4E4 F

404142434445464748494A4B4C4D4E4 E

请注意,我尝试了其他一些卡片和工具!相同的输出。

这是因为使用两个密钥的加密具有相同的输出吗?

0 投票
1 回答
515 浏览

c++ - 将 C++ 串口奇偶校验更改代码从 Linux 移植到 Windows

我在编程方面并没有真正的经验,但我正在尝试将 C++ 代码从 Linux 移植到 Windows。这是一个写入串行端口并读取答案的函数,然后对其进行解析。我可能可以把它放在一起,但我不确定如何将以下内容从 Linux 移植到 Windows:

这些函数用于在写入串行端口时在标记和空间奇偶校验之间切换 - 命令的第一个字节必须用标记奇偶校验写入,其余的用空间奇偶校验写入,如下所示:

但我坚持这一点。我什至不知道在 Windows 中是否可行。请问有人有什么想法吗?非常感谢你。