当前位置:七道奇文章资讯系统安全Linux安全
日期:2011-01-23 03:26:00  来源:本站整理

<b>Linux串口测试工具简单程序展示</b>[Linux安全]

赞助商链接



  本文“<b>Linux串口测试工具简单程序展示</b>[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

由于已经完成了第一个HELLO程序,标志着整个编译环境已经没有问题了,下来预备做一下串口测试程序.由于串口驱动开辟板已经作好了,所以就作一个Linux串口测试工具简单的数据收发看看.

Linux串口测试工具网上常见的版本都看起来对比烦琐,下面是一个简单一点的,这个程序功效是收到10个字节后会发前7个字节,假如所发的数据的第一个字节是9则退出.

  1. /* rs232_send.c*/  
  2. #include   
  3. #include   
  4. #include   
  5. #include   
  6. #include  
  7. #include   
  8. #include   
  9. #include   
  10. #include   
  11. #defineBAUDRATEB115200//38400  
  12. #defineMODEMDEVICE"/dev/ttyS1"  
  13. int main()  
  14. {  
  15. int fd,c=0,res;  
  16. struct termios oldtio,newtio;  
  17. intch;  
  18. static char s1[20],buf[19];  
  19. printf("start ...\n");  
  20. /*翻开PC的COM1口*/  
  21. fd = open(MODEMDEVICE,O_RDWR|O_NOCTTY);   
  22. if (fd  
  23. {  
  24. perror(MODEMDEVICE);  
  25. exit(1);  
  26. }  
  27. printf("open...\n");  
  28. /*将旧的通讯参数存入oldtio构造*/  
  29. tcgetattr(fd,&oldtio);  
  30. /*初始化新的newtio */  
  31. bzero(&newtio,sizeof(newtio));  
  32. /*8N1*/  
  33. newtio.c_cflag = BAUDRATE|CS8|CLOCAL|CREAD;  
  34. newtio.c_iflag = IGNPAR;  
  35. newtio.c_oflag = 0;  
  36.  
  37. /*正常情势*/  
  38. /*newtio.c_lflag = ICANON;*/  
  39.     
  40. /*非正常情势*/  
  41. newtio.c_lflag = 0;  
  42. newtio.c_cc[VTIME] = 0;   
  43. newtio.c_cc[VMIN] = 10;  
  44.  
  45. tcflush(fd,TCIFLUSH);  
  46. /*新的temios作为通讯端口参数*/  
  47. tcsetattr(fd,TCSANOW,&newtio);  
  48. printf("writing...\n");  
  49.  
  50. while(1)  
  51. {  
  52. res = read(fd,buf,10);  
  53. res = write(fd,buf,7);  
  54. if(buf[0]==9) break;  
  55. }  
  56.  
  57. printf("close...\n");  
  58. close(fd);  
  59. /*复原旧参数*/  
  60. tcsetattr(fd,TCSANOW,&oldtio);  
  61. return 0;  
  62. }  


还有一点要注意,就是Linux串口测试工具串口有两种工作情势,即正规情势和非正规情势,假如习惯在串口调试器顶用16进制发送,此时串口应当为非正规情势才行.

下面是这两种情势的阐明
Linux串口测试工具正规情势(CANONICAL大概COOKED)
此情势下,终端设备会处理特别字符,并且数据传输是一次一行的方法,既按回车后才开始发送和接纳数据.比方LINUX的SHELL.
Linux串口测试工具非正规情势(NON-CANONICAL大概RAW)
此情势下,终端设备不会处理特别字符,并且数据传输是一次一个字符的方法,既不用按回车换行.比方LINUX的VIM.   以上是“<b>Linux串口测试工具简单程序展示</b>[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .