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

关于串口的问题,已经搞了1个星期了,没搞懂

    来源: 互联网  发布时间:2017-05-18

    本文导语:  最近在学习linux下的串口通信。一个send.c和一个rev.c文件,分别在S3C2440和pc机的linux上运行。send.c(在开发板运行)文件打开"/dev/s3c2410_serial0",然后配置一些波特率等参数,最后进行写操作  res=write(fd,s1,1);   而rev.c...

最近在学习linux下的串口通信。一个send.c和一个rev.c文件,分别在S3C2440和pc机的linux上运行。send.c(在开发板运行)文件打开"/dev/s3c2410_serial0",然后配置一些波特率等参数,最后进行写操作  res=write(fd,s1,1);  
而rev.c(在PC机运行)则打开"/dev/ttyS0"文件,然后配置一些波特率等参数,最后进行读操作  res=read(fd,buf,sizeof(buf));
分别运行俩个程序,然后就可以通信了。我想知道为什么?他们打开的不是不同的两个文件吗?在"/dev/ttyS0"怎么可以读出在"/dev/s3c2410_serial0"写进去的东西?那换成"/dev/s3c2410_serial1"行不行?

|
串口就是一个简单的物理链路,通信的双方遵循基本的串口协议,如相同的波特率,数据位停止位校验等,当一方向串口写数据时,底层驱动完成数据发送到串口的外发寄存器,硬件上的表现就是串口线上出现高低电平,此电平在通信双方的另一方的串口端口上被检测到后,硬件的高低电平被数字化读入对端的串口硬件寄存器,在驱动的处理下完成数据的转移,数据由内核转到到用户层。在用户层面的表现就是/dev/ttys0,在一方打开此设备文件,做写入动作。在另一方打开此设备做读入动作。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在windows中的VMware装了个linux,主板有两个串口,能做windows和linux的串口通信测试么,怎么测试这两个串口在linux是有效
  • linux下几个设备通过串口串行连接,如何协调各串口发送数据
  • 散分100,求解串口键盘和串口鼠标驱动
  • Linux 中用java语言写串口程序,提示找不到串口
  • 高分求助:我笔记本没有串口,在linux下要和一个串口设备连,怎么办?
  • 开发板串口与实际内核中的串口文件的对应关系怎么回事?谢谢帮忙
  • 怎么判断串口已经收到数据,并及时读出?怎么判断串口已经将写入的数据发送完毕?
  • 工控机有6个串口,但用光盘安装debian6.05,在dev中只找到4个串口,如何解决。
  • linux下串口发送数据用串口精灵接受不到或为全零
  • 在虚拟Linux系统下能进行串口通讯吗?最好给个串口通讯的代码!谢谢!
  • 要加多个串口,怎么分别指定他们的driver_name和dev_name以示区别各个串口?
  • 工控机上用光盘安装debian6.05,硬件上有6个串口,但是软件上即dev中只有4个串口,如何解决。
  • 嵌入式linux,串口初始化时,无法设置串口属性
  • 请教串口通信的编程
  • 请问如何以独占的方式打开串口
  • linux串口驱动该怎么写
  • 虚拟串口怎么读数据? 请有 串口 或者 usb 驱动经验的高手指点
  • linux下如何清空串口的输入输出缓存
  • linux下怎么监控串口?
  • u-boot中处理串口通讯的源码在哪?


  • 站内导航:


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

    ©2012-2021,