免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1497 | 回复: 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
发表于 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的有偏差,而且时间也不好控制。如下是输出结果:
   QQ截图20141024111055.png

  minicom的输出结果:
   QQ截图20141024111219.png

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


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

本版积分规则 发表回复

SACC2021中国系统架构师大会

【数字转型 架构重塑】2021年5月20日-22日第十三届中国系统架构师大会将在云端进行网络直播。

大会为期3天的议程,涉及20+专场,近120个主题,完整迁移到线上进行网络直播对会议组织来说绝非易事;但考虑到云端会议的直播形式可以实现全国各地技术爱好者的参与,也使ITPUB作为技术共享交流平台得到更好的普及,我们决定迎难而上。
http://sacc.it168.com/


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP