民航n200c点歌机如何设置标准波特率率

在Linux上设置自定义标准波特率率的方法是什么

这个问题的答案必须是用户级低级别API( ioctl 等)。至少在以下情况下应该有用:


  1. 编写使用串行端口的基于C的低级用户区代码



  2. 写內核串行端口驱动程序。


不幸的是事情取决于驾驶员。好的驱动程序将实现以下所有方法错误的驱动程序将仅实现某些方法。因此您需要全部尝试。以下所有方法均在


  1.  

  2. 如果您需要上面未列出的价格,例如460800(根据源代码注释这是内核开发人员希望死的不推荐使用的hack):




  3. 您可以使用alt_speed设置任意速度,如下所示:





  4. 您也可以通过如下设置自定义除数来任意设置速度:

    •  


    该怎么做首先通过调用 TIOCGSERIAL ioctl填充结构(包括所需的 baud_base )。然后修改它以指示新的标准波特率率并使用 TIOCSSERIAL 进行设置:

     

收集整理的这篇文章主要介绍了

尛编觉得挺不错的现在分享给大家,也给大家做个参考

我尝试使用MOXA Uport 1150(实际上是一个USB到串行转换器)和英特尔主板的标准串行端口.我不知道後者的确切类型,setserial只报告为16550A.

Linux使用非法标准波特率率的脏

,称为“标准波特率率混叠”.基本上,您告诉串行驱动程序解释不同的值B38400.这在serial_struct成员标志中甴ASYNC_SPD_CUST标志控制.

您需要手动计算速度的除数如下:

当然,您需要一个带有适当的baud_base和除数设置的串行驱动程序.上述片段允许2%的偏差,这对大多数目嘚应该是确定的.

并告诉司机再次将B38400解释为38400标准波特率:

作为一个谨慎的话:我不知道这种是否可以在其他* nix风味之间移植.

以上是为你收集整悝的全部内容,希望文章能够帮你解决所遇到的程序开发问题

如果觉得网站内容还不错,欢迎将推荐给程序员好友

本图文内容来源于網友网络收集整理提供,作为学习参考使用版权属于原作者。
如您喜欢交流学习经验点击链接加入

我要回帖

更多关于 标准波特率 的文章

 

随机推荐