4312|5

74

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求解!!linux下sim300能正常启动,但at指令无响应! [复制链接]

使用扬创套餐2的开发板,在linux下用串口1,调试sim300,2440与sim300通过三线链接(txd,rdx错位对接)
某块能正常启动,打开话和发短信,我的程序都能接受到模块发来的相应字符(在程序中"用于测试1"中接收模块发来的字符串)
但当我给程序发at测试指令时,模块无响应,但用示波器观察确实有数据发出!
请达人求解!
附程序和串口配置程序。
联系:qq 181729971
        wzqyj2008@163.com


int main(void)
{
     int fd_SIM300_Uart2=-1;
         int i,nRead=0;
        unsigned  char data[40];
        unsigned  char data1[40];
         char *pdata="AT\r";
    fd_SIM300_Uart2= open("/dev/s3c2410_serial1", O_RDWR);

    init_ttyS(fd_SIM300_Uart2);

tcflush(fd_SIM300_Uart2, TCIOFLUSH);
  /*用于测试1*/          
  printf("等待模块启动\n");
  while(( nRead=read(fd_SIM300_Uart2,data1,40))<1);
  data1[nRead]='\0';
     printf("the num of response is :%d\n",nRead);
         printf("the data read are :%s\n",data1);

nRead=0;
printf("延时10s\n");
sleep(10);
printf("测试at\n");
sleep(2);

    write(fd_SIM300_Uart2,pdata,strlen(pdata));

  while(( nRead=read(fd_SIM300_Uart2,data,40))<1);
  data[nRead]='\0';
     printf("the num of response is :%d\n",nRead);
         printf("the data read are :%s\n",data);

}

void init_ttyS(int fd)
{
    struct termios options;

       // bzero(&options, sizeof(options));       // clear options
      
          tcgetattr(fd,&options);

        cfsetispeed(&options,B115200);            // setup baud rate
        cfsetospeed(&options,B115200);
        options.c_cflag &= ~CSIZE;
          options.c_cflag |= CS8;
        options.c_lflag &= ~(ICANON | ECHO | ECHOE );//wu01设置为原始模式,

         options.c_cflag |=CREAD ;           
       options.c_cflag |=CLOCAL ;
          
           options.c_cflag &=~(PARENB|CSTOPB);
          // options.c_iflag |= IXON;
          // options.c_iflag |= IXOFF;
          // options.c_iflag |= IXANY;
          
        options.c_cflag &=~CRTSCTS;
               
          options.c_cc[VTIME]  = 0;
         options.c_cc[VMIN] = 0;

         tcflush(fd, TCIOFLUSH);

        tcsetattr(fd, TCSANOW, &options);

}//end init_ttyS

最新回复

不好意思,看走眼了,原来下面有代码设置过了。   详情 回复 发表于 2009-4-17 13:38
点赞 关注

回复
举报

51

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
“示波器观察确实有数据发出”,是哪边有数据发出?模块吗?
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
示波器观察确实有数据发出,是指用示波器观察,我的at指令确实从2440发出去了,只是模块没有对我的指令响应!
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

4
 
模块肯定没问题了。

char *pdata="AT\r";
看看UNICODE双字节的配置,是否需要宽字符。

linux下有很多串口软件,你找一个试试at的反应。
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

5
 






天才,你调整波特率了没?








 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

6
 







不好意思,看走眼了,原来下面有代码设置过了。








 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表