我试图通过将除数 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 运行。
我能做些什么来确保串口使用这个除数吗?
如果您仔细查看一些 iOT 芯片组的 Broadcom 数据表规格,您会看到黑底白字,ARM iOT 中的串行通信服务实现是您在 PC 世界中常见的常见 16550 串行芯片组的部分仿真。据我记得,他们明确地写了仿真只支持 16550 服务的一小部分。
因此,它们仅提供“完整的 UART”提供的服务的一个足够好的子集。
最重要的是,不要指望它 100% 支持所有常用功能。