免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1679 | 回复: 0
打印 上一主题 下一主题

[C] linux下串口怎么处理读数据? [复制链接]

论坛徽章:
6
CU大牛徽章
日期:2013-05-20 10:43:41IT运维版块每日发帖之星
日期:2016-07-29 06:20:00IT运维版块每日发帖之星
日期:2016-01-27 06:20:00CU大牛徽章
日期:2013-05-20 10:44:16CU大牛徽章
日期:2013-05-20 10:44:0615-16赛季CBA联赛之广东
日期:2018-03-09 11:17:08
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-10-24 11:15 |只看该作者 |倒序浏览
        struct modem_config config;
        config.device = "/dev/ttyUSB0";
        config.baud = 9600;
        config.parity = "8N1";

        int fd = init_modem(&config);

        char cmd[255];
        memset(cmd, 0, sizeof(cmd));
        strcpy(cmd,"AT+CIMI\r");
        write(fd, cmd, strlen(cmd));

        char buf[BUF_SIZE];
        int nRead;
        while(1) {
                while((nRead = read(fd, buf, BUF_SIZE)) > 0) {
                        buf[nRead + 1]='\0';
                        printf("\n%s", buf);
                }
        }


  主要是红色的部分,这个是给短信猫发条获取ismi的指令,然后获取返回来的数据。
  可是返回来的数据,格式和我用minicom的有偏差,而且时间也不好控制。如下是输出结果:
  

  minicom的输出结果:
  

  程序处理过程中可能会发好几条命令,我希望每发一条出去,获取到结果后,才发下一条命令。这个怎么处理,求大神帮忙!谢谢!!!
  


  
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP