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

开发板上调试3G手机模块的问题

    来源: 互联网  发布时间:2017-01-23

    本文导语:  我在开发板上调试一个3G的手机模块,已经可以识别了,为了测试方便,我想从命令行接受AT指令,然后发往手机模块。 在程序里面有2个线程,一个接收我的输入,一个读取手机模块的输出。我是用fgets从stdin读取数...

我在开发板上调试一个3G的手机模块,已经可以识别了,为了测试方便,我想从命令行接受AT指令,然后发往手机模块。
在程序里面有2个线程,一个接收我的输入,一个读取手机模块的输出。我是用fgets从stdin读取数据的,可无论我在键盘上输入什么,接收线程收到的数据都跟我输入的一模一样。比如我输入:testtest  ,接收线程显示读取到的数据也是:testtest

如果我不用fgets从stdin获取命令,而是将AT指令写死在程序里,那么接收线程可以读取到手机模块的响应。

我想问下,这是怎么回事呢?我该怎么改才能做到从键盘接收数据,然后正确的发往手机模块,并让手机模块解析呢,程序代码如下,大家帮忙看看:
#include
#include
#include 
#include 
#include 
#include 
#include 
#include 







char buf_send[8192];
char buf_recv[8192];


void* (read_usb0_thread)(void* );
void* (write_usb0_thread)(void* );

int g_iExit=0;
int g_fd_usb0;

int main(int argc ,char *argv[])
{
    struct termios options;
    
    
    g_fd_usb0=open("/dev/ttyUSB0",O_RDWR);
    
    printf("open file:%drn",g_fd_usb0);
    if(g_fd_usb00)
        {
            printf("usb0-read:%sn",buf_recv);
            
        }
        else
        {
            usleep(100*1000);
        }


    }


    return 0;
}

void* (write_usb0_thread)(void* param)
{

    char *pBuf=NULL;
    int bPrintfMsg=0;

    int num=0;
    
    int iRet=0;

    while (1)
    {
        pBuf=fgets(buf_send,sizeof(buf_send)-1,stdin);

        if (NULL==pBuf)
        {
            printf("get:null,continue");
            usleep(100*1000);
            continue;
        }

        if (strstr(pBuf,"quit") && strlen(pBuf)0)

        {

            printf("(usb0-write:%sn",pBuf);

        }

        else

        {

            printf("usb0 write err:%d",iRet);

        }

        
        
        memset(buf_send,0x00,sizeof(buf_send));
        iRet=0;      
        

    }


    return 0;
}


|
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 


int main(int argc,char**argv)
{
int fd=2,len=0,maxfd=0,iofd=0;
int flag=0,n=0,i;
struct termios tio;
fd_set write_fd,read_fd;
unsigned char buf[1500],buf2[128];
struct timeval over_timer;
speed_t spt=B9600;
if(argc>1)
fd=atoi(argv[1]);
if(argc>2)
switch(atoi(argv[2]))
{
case 2400:spt=B2400;break;
case 4800:spt=B4800;break;
case 9600:spt=B9600;break;
case 19200:spt=B19200;break;
case 38400:spt=B38400;break;
case 57600:spt=B57600;break;
case 115200:spt=B115200;break;
case 230400:spt=B230400;break;
}
if(argc>3)
flag=atoi(argv[3]);
memset(buf,0,sizeof(buf));
sprintf(buf,"/dev/ttyS%d",fd);
fd=open(buf,O_RDWR|O_NOCTTY);
tcgetattr(fd,&tio);
cfmakeraw(&tio);
cfsetispeed(&tio,spt);
cfsetospeed(&tio,spt);
tcsetattr(fd,TCSANOW,&tio);
memset(buf,0,sizeof(buf));

iofd=fileno(stdin);
while(1)
{
FD_ZERO(&write_fd);
FD_ZERO(&read_fd);
FD_SET(fd,&read_fd);
FD_SET(iofd,&read_fd);
if(fd>iofd)maxfd=fd;
else maxfd=iofd;
over_timer.tv_sec=5;
over_timer.tv_usec=0;
//FD_SET(fd,&write_fd);
if(len=select(maxfd+1,&read_fd,NULL, NULL, &over_timer) 

    
 
 

您可能感兴趣的文章:

  • kdevelop开发 网络程序 如何调试? 如何调试服务器端的程序
  • linux 设备驱动开发&调试技术---!!!!!!!
  • 关于arm开发板用kgdb调试的问题
  • 【讨论贴】gcc开发的时候有大家都有什么好的调试方法,来讨论下
  • 在sun solaris 8系统下有没有具编辑、编译、调试一体的集成C(C++)开发工具?谢谢!
  • 请问Linux下的C语言程序开发大家如何进行断点调试和单步调试?
  • 有用anjuta开发程序的吗?我用它调试怎么总是出毛病呢!!!!!
  • 网页开发调试工具 SuperPreview
  • 开发网卡驱动程序一般用什么现成的程序或者工具来测试(调试)
  • 请问LINUX下C开发有什么好的调试工具没有?
  • 问大家一个基础问题,嵌入式arm的linux开发的调试一般怎么调?
  • 用ARM进行linux开发时,能不能用H-JTAG,单步调试啊?
  • 有没有用于unix下c开发的dbx调试图形界面的工具?
  • 在Windows下进行Linux/FreeBSD/Unix的GCC远程开发和调试
  • 大家来做java 开发调试日志。(愿意给出300分)
  • 请高手指点如何用visual age for java 3.x开发和调试ejb? 急急急!!!!
  • Linux下有类似于Visual C++一样集可视化界面,编译,运行,调试和库于一体的C的开发环境吗?c++的也可以
  • linux 下的如何编辑调试C语言程序,有无可视化开发环境
  • Android开发笔记之:一分钟学会使用Logcat调试程序的详解
  • 高分请教:JBuilder怎末和Tomcat联合开发及调试jsp?
  • 传感器模块、gprs模块如何和我的2440开发板相连
  • 前端模块化开发 easyloader
  • 如何用C++开发Apache的模块
  • android上插件开发模块 WeiPlugin
  • Java模块化应用开发框架 JTheque
  • php扩展模块开发
  • 关于2.4下的内核模块开发
  • ===============请教大虾关于unix下开发模块的报价====================================
  • 在开发板上insmod模块led.o出错。
  • 请问在Unix下开发ftp传输模块,有没有什么系统函数可以调用。
  • 求iptables 模块开发的资料
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux 下c++开发error while loading shared libraries问题解决
  • 从问的问题看得出来,大家都是新手。大都问怎么配置,哪有入门资料等等问题,对于平时开发用到得问得很少。也体现出这里大家很少用java进行开发,大都刚开始学习。
  • 弱智问题,sco openserver上开发c程序,主要用什么开发工具呀?
  • 有关于开发板“从nfs启动”和“从开发板本地盘启动”的问题
  • 请教个开发大项目中 使用开发工具的问题
  • Linux下面的开发好的Java程序,如何部署到其他机器?开发好的Java图形程序,终端上能否用?等问题
  • 用JB7开发JSP,遇到配置问题.用什么工具开发JSP又快又方便?
  • 关于Linux下C++开发的问题
  • linux新人请教,ARM开发的问题!
  • vmware虚拟LINUX开发的问题初步问题
  • 图形开发的小问题
  • 请教UNIX字符界面开发问题~
  • 我要在linux上安装一套C++的开发工具.有些入门问题.
  • Red Hat下安装c开发工具的问题
  • Jsp Php开发问题?
  • 有关ejb开发的问题?
  • 新手请教Linux下开发的相关问题
  • 初学者的问题:目前我应该装那一个java开发工具,jbuilder7? JavaScript?有没有java2.0?现在软件公司开发用的是那一种?
  • 请问在QT上进行openGL开发的问题。
  • 我是新人啊。问一个问题。linux 开发的待遇怎么样啊。。。
  • ftp 开发板的ip:192.168.1.230出现问题,老是连接超时???
  • VS2012+MySQL+SilverLight5的MVVM开发模式介绍
  • linux 嵌入式开发用不用买开发板,买什么样的开发板?
  • ios app 开发中ipa重新签名步骤介绍
  • 请问shell 开发能开发什么样的程序?硬件的驱动程序是否能够开发呢?
  • 几个windows平台C++开发错误举例
  • 请问在Linux 下用C开发移动增值软件都有什么开发工具啊,我以前一直在Windows下用VC开发
  • IOS开发:UIScrollView类介绍及如何简单地截获touch事件
  • 我常未开发过Linux下的程序,请问Linux下可以使用那些开发工具,最好的开发工具是什么版本?
  • nginx最新主线开发版1.5.4发布及下载地址
  • 我是学习web开发的,主要是java开发SSH开发框架和ajax等。我想知道有没有必要学习一下linux相关知识。


  • 站内导航:


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

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

    浙ICP备11055608号-3