标签: 9-bit-serial

串行通信,读取第9位

我有一个使用串行通信连接外部协议的应用程序.

我需要知道唤醒位是否在它发送给我的每个数据包上设置(9位),并且通信速率必须低于40ms,并且必须在20 ms内发送响应.该框架封装从端口读取的位,并仅向我发回8位数据.此外,由于调整问题,我不能等待奇偶校验错误事件.

我需要知道如何读取9位,或者是否有http://www.wcscnet.com/CdrvLBro.htm的免费替代方案

c# serial-port 9-bit-serial

12
推荐指数
1
解决办法
3885
查看次数

是否可以在Linux中使用9位串行通信?

RS-232通信有时使用9位字节.这可用于与总线上的多个微控制器通信,其中8位是数据,而额外位表示地址字节(而不是数据).非活动控制器仅为地址字节生成中断.

Linux程序可以通过串行设备发送和接收9位字节吗?怎么样?

linux serial-port 9-bit-serial

11
推荐指数
1
解决办法
9037
查看次数

stty 串行端口奇偶校验设置不持久

我有一个 netcore 应用程序,它打开串行端口,并在检测到奇偶校验错误后在控制台上写入“奇偶校验错误”。它在 Windows 10 中工作正常,但无法在 Linux 下工作。

我的假设是操作系统没有将奇偶校验错误传递给 netcore。

为了检查端口设置,我运行:

stty -D /dev/ttyS0 -ignpar inpck
Run Code Online (Sandbox Code Playgroud)

然后我跑:

stty -D /dev/ttyS0 -a 
Run Code Online (Sandbox Code Playgroud)

并且设置似乎已按预期正确设置(-ignpar inpck)。

然后我运行我的 netcore 3 应用程序,但未检测到奇偶校验错误。

所以我跑

stty -D /dev/ttyS0 -a 
Run Code Online (Sandbox Code Playgroud)

用于验证设置,但这些似乎已重置(-ignpar -inpck)

如何强制我的应用程序在启用 inpck 属性的情况下运行?
有没有办法让inpck默认启用?

谢谢。

更新:netcore 3 应用程序奇偶校验错误检测在 Windows 10 中工作正常,但在 Linux 下不起作用。我的假设是:

  • A) netcore 运行时未将奇偶校验设置传递给驱动程序(不太可能)
  • B) 操作系统忽略指令。

linux serial-port parity stty 9-bit-serial

2
推荐指数
1
解决办法
4414
查看次数

标签 统计

9-bit-serial ×3

serial-port ×3

linux ×2

c# ×1

parity ×1

stty ×1