串口忽略自定义除数

串口忽略自定义除数

我试图通过将 2 的除数应用于 6.5Mb/s 的波特基数来以 3.25Mb/s 的速度运行串行端口。我正在使用运行带有内置串行端口的 android 6 的 IoT 设备 (Telit HE922-3GR),该proc/tty/driver/ttyS文件包含:

serinfo:1.0 driver revision:
0: uart:XGOLD_USIF mmio:0xE1200000 irq:36 tx:32497 rx:20751 fe:1834 RTS|DTR|DSR|CD|RI
1: uart:XGOLD_USIF mmio:0xE1100000 irq:35 tx:453 rx:0 RTS|DTR|DSR|CD|RI

我正在使用/dev/ttyS1

除数已设置sys/class/tty/ttyS0/custom_divisor为正确的值,但无论除数是什么,串行端口仍以 6.5Mb/s 的速度运行。

我可以做些什么来确保串口使用这个除数?

答案1

如果您仔细查看一些 iOT 芯片组的 Broadcom 数据表规格,您会发现黑底白字,即 ARM iOT 中的串行通信服务实现是部分的仿真PC 世界中常见的 16550 串行芯片组。据我记得,他们明确写道模拟仅支持 16550 服务的一小部分。

因此,他们只提供了“完整的 UART”所提供的服务的一个足够好的子集。

最重要的是,不要指望它 100% 支持所有常用功能。

相关内容