当前位置:  技术问答>linux和unix

请教linux下串口编程的几个问题,高手相助!

    来源: 互联网  发布时间:2015-03-19

    本文导语:  1: 请问串口设置中c_cflag中的CRTSCTS这个参数,书上说是设置硬件流控的。 请问如果我设置了c_cflag|=CRTSCTS;有什么作用?它的硬件流控体现在哪里? 如果我取消硬件流控c_cflag&=~CRTSCTS,我还是可以通过 ioctl(fd,TIOCMGET,&sta...

1:
请问串口设置中c_cflag中的CRTSCTS这个参数,书上说是设置硬件流控的。
请问如果我设置了c_cflag|=CRTSCTS;有什么作用?它的硬件流控体现在哪里?
如果我取消硬件流控c_cflag&=~CRTSCTS,我还是可以通过
ioctl(fd,TIOCMGET,&status);
status|=TIOCM_RTS;
ioctl(fd,TIOCMSET,&status);
来设置RTS等信号的呀。给我的感觉是在c_cflag中设置CRTSCTS这个参数没有什么用。请教CRTSCTS到底有什么用,怎么用?

2:
怎样将向串口写数据的函数write设置成同步模式,即发完所有数据后才返回。

因为我的一个程序,write完,我就把RTS置为无效,结果发现modem根本没有收到数据,只能sleep一点时间后,等modem收到数据后,再把RTS置为无效。因此说明,write是异步的,它的返回不代表串口已经发完,只是说明已把数据放进了输入缓冲区。
我想要write变成同步模式,我就不用再sleep了,因为我不知道每次要sleep多长时间才能够发完。


请各位高手一定帮忙,小弟不胜感激!!!

|
一样,呵呵

|
c_cflag|=CRTSCTS肯定是设置硬件流控。不过楼主,和MODEM通信好像不需要2、3交叉啊?你不是标准串口?
在设置c_cflag&=~CRTSCTS后我想一定可以通过ioctl重设,这其实可能是设置文件属性的两种方法吧,最终可能还是通过ioctl来实现。
还有你的第二个问题,我做的程序也是非诸塞模式下的串口读写,也需要控制RTS,应为我发送需要置高,接收需要置低,不过和MODEM通信,好像RTS置高就行了,不用置低的。
等数据发送完之后再返回,可能不好做到吧?write写到了文件缓冲区,但是串口自己还有fifo呢,不好控制吧?可能阻塞模式也实现不了。

|
设置硬件流控时,就不需再控制RTS,由硬件自动控制了。

    
 
 

您可能感兴趣的文章:

  • 请教串口通信的编程
  • arm串口缓冲和c编程请教
  • 请教一个linux串口通讯问题?
  • 请教高手点简单的串口问题
  • 最棘手一种串口问题。请教高手。在线等
  • 请教高手在QT下怎样收串口数据
  • 大侠们,我是新手,请教怎么判断串口是否有连接
  • 请教:串口通信问题
  • 请教:串口只输出,不响应输入
  • 请教高手:Linux 串口读写 的问题?????
  • 请教一个LINUX下串口问题
  • 请教串口通信中用超级终端配置时数据解析
  • 请教高手LINUX下读串口数据的问题!!
  • Qt下串口通讯程序请教
  • 请教串口传输文件的问题
  • 高分请教一个串口驱动模块加载的问题
  • 请教一个完整的linux下通过串口传输各种文件的源码,多谢!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下 iis7站长之家
  • 请教:嵌入式开发第一关,usb转串口线怎么用?
  • 请教:linux串口问题(echo test > /dev/tcc-uart2)在PC终端上收不到数据
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教大家linux下建立视频的服务器几个问题
  • Qt初学者请教大家几个问题!
  • 请教 Linux下安装ORACLE的几个问题
  • 请教几个问题?
  • 各位高手大家好,我是初学LINUX想请教几个问题
  • 请教 几个问题!!!!谢谢!!!
  • 初学Linux内核编译,几个问题请教一下
  • 请教一下unix下的几个问题
  • 请教VI的几个问题,谢谢
  • 关于硬盘安装radhat7.3的几个问题?请教大虾
  • 几个问题请教高手,没把握不要乱说哟!
  • 多系统引导程序的几个问题,请教???
  • 想请教shell编程几个问题
  • 初装linux,好几个问题要请教!
  • 请教几个问题
  • 请教一下linux系统中程序运行方式的几个问题
  • 我想学JAVA,有几个问题想请教大家。
  • 请教关于syslogd和printk的几个问题
  • 我是初学者,有几个问题,想请教各位高手,望不吝赐教
  • 这里有青岛的java程序员吗??有几个问题请教一下!(大送分)
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3