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

急急急:请教各位大虾关于串口通信的问题!!!!!

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

    本文导语:  这个程序的主要目的是向串口发送AT命令(基于嵌入式Linux),是短信猫发短信,但问题是不能发出短信,已经排除是硬件问题,希望大家帮帮忙,这个程序错在什么地方。 void serial_rw() { int i; char buff[512]; char b...

这个程序的主要目的是向串口发送AT命令(基于嵌入式Linux),是短信猫发短信,但问题是不能发出短信,已经排除是硬件问题,希望大家帮帮忙,这个程序错在什么地方。
void serial_rw()
{
int i;
char buff[512];
char buff_t[]="ATn";
char receive[3]="w";
char buff4[] = "AT+CMGD=1n";
char buff2[] = "AT+CMGS=15045268420n";
char buff3[] = "this is a test message";
int nread,nwrite;
printf("the num is:%sn",buff2);
write( serial_fd,buff_t,sizeof(buff_t) );
sleep(5);
read( serial_fd,receive,sizeof(receive) );
printf( "receive: %sn",receive );
nwrite = write(serial_fd,buff4,sizeof(buff4));
sleep(5);
nwrite = write(serial_fd,buff2,sizeof(buff2));
sleep(5);
printf("nwrite=%dn",nwrite);
nwrite = write(serial_fd,buff3,sizeof(buff3));
sleep(5);
printf("send nwrite=%dn",nwrite);
nwrite = write(serial_fd,"x1a",sizeof("x1a"));
sleep(5);
printf("end of send messagern");
while(1)
{
}
close(serial_fd);
}

|
前面已经回复过很多关于短信猫的问题,LZ可以搜索下。
我在这里就短信猫做一下终结:
1.拿到短信猫,和串口线,先在windows下,用windows的超级终端(波特率115200或者是9600.短信猫标准

波特率是9600),给猫发送AT指令。一来是检查串口线,而来检查猫



2.放到linux下之后,自己用程序给猫AT指令,很重要的一点就是设置串口。很多人拿到短信猫,然后google

个code然后跑起来,或则是自己写,发现无论怎样,都发送,或者接受不到,或者接受到的是乱码。那么,关

于这一点,引发以上问题的无非是:一,串口设置不对,参数,对于串口如何设置,我在这里就不说了,动动

手google下。二,极为重要的一点就是关于串口的flush。这一点很重要。关于如何flush,也是google。

三,请大家一定要记得memset。对于需要buff的,请大家一定要记得使用memset。否则,给短信猫发送的AT

指令,猫根本不认识,同样,猫发送来的数据就是乱码了。




3。防止你的开发板的TXD RXD没有交叉。我曾经月到过,PC机上绝对没问题,移到板子上,就接受发送不正常

了。最后发现是板子串口没有交叉。

在这里,给大家介绍一个种检测串口的办法:拿一根线,将你的串口的RXD和TXD链接起来。然后在超级终端

下按键盘,如果键盘可以正常显示,则说明串口是好的。至于哪个是RXD TXD,google吧。至于原理,你懂了

RXD 和TXD你就知道原理了。




4.程序中注意 n  r之内的转义字符,这些字符很重要,那么你的程序多参考网上的,人家怎么写。





5。发送一条指令之后,请不要立马就去read,这样觉得是接受发送失败的。解决办法是:write之后,sleep

(nsec)。然后才是read。那么,对于read的时候,使用结合select使用才是最科学的。




6.短信猫,买回来,是不需要你对他进行设置的。只需要你把手机卡放到短信猫里面。就可以了。也不需要对

猫进行启动。现在的短信猫几乎都是上电就启动了。还有,没事不要去搬动短信猫天线,稍不注意,短信猫就

烧了。到现在我也不知道是为啥。



我对短信猫的总结,基本就到这里了。希望给大家一个参考。

|
如果用的是虚拟机,可以给虚拟机建两个命名管道的串口,两个命名管道指向同一个文件,注意设置是一个主一个从,然后一个串口写,另一个读,这样可以绕开串口的设置检测代码的问题,如果这样能读写数据而实际串口没数据,那就要检测是不是程序中的串口设置问题。

|
上面的总结,虽然说是针对短信猫的,也有大部分是针对串口通信的。

|
支持一下2楼的。

    
 
 

您可能感兴趣的文章:

  • 请教串口通信的编程
  • arm串口缓冲和c编程请教
  • 请教一个linux串口通讯问题?
  • 请教高手点简单的串口问题
  • 最棘手一种串口问题。请教高手。在线等
  • 请教高手在QT下怎样收串口数据
  • 大侠们,我是新手,请教怎么判断串口是否有连接
  • 请教:串口通信问题
  • 请教:串口只输出,不响应输入
  • 请教高手:Linux 串口读写 的问题?????
  • 请教一个LINUX下串口问题
  • 请教串口通信中用超级终端配置时数据解析
  • 请教高手LINUX下读串口数据的问题!!
  • Qt下串口通讯程序请教
  • 请教串口传输文件的问题
  • 高分请教一个串口驱动模块加载的问题
  • 请教一个完整的linux下通过串口传输各种文件的源码,多谢!
  • 请教:我想用linux的com口通过串口线访问另外的机器
  • 请教:嵌入式开发第一关,usb转串口线怎么用?
  • 请教:linux串口问题(echo test > /dev/tcc-uart2)在PC终端上收不到数据
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教大虾,关于grant
  • ☆ 请教大虾,如何在jar文件中设置 main-class ☆
  • 高分请教大虾linux做网关的问题!急!!!
  • 光驱不识别问题,请教大虾
  • 请教大虾:),获取线程id的问题
  • HTML教程 iis7站长之家
  • 菜鸟请教各位大虾!
  • 请教各位大虾们,我的忧愁你能解决!
  • 很奇怪的问题,请教各位大虾
  • Linux大虾们,请教lds.
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教网络通信高手~~~~
  • 关于socket通信,C的代码,有个问题请教高手!
  • 请教:关于两台计算机通信的测试
  • 请教unix进程间通信的几种模式,以及区别?
  • 请教大家,是否有关于Applet于服务器通信的介绍。
  • 请教进程通信
  • 请教socket通信中的一个小问题,打印客户端的地址会发出警告
  • 请教一个问题:application 如何连接servlet 通信?
  • 请教子线程之间通信的问题
  • 请教一个局域网通信的问题(急)
  • 高分请教,applet和javabean之间如何通信?
  • 请教:arm开发板与pc通过wifi连接能ping通但无法socket通信
  • 【请教】本人对某TCP通信抓包分析,是否成功完成三次握手(附图)
  • 关于tcp中客户端和服务端通信模式的请教
  • 请教各位大虾一个关于进程间通信的程序问题!
  • 请教一下LINUX下的网口通信为什么在连接的时候总是提示connect refuse
  • 倾尽家财请教一个管道通信的简单问题!谢谢大家
  • 请教虚拟机vmware下串口通信的问题
  • 请教一个与服务器通信时数据收取一段时间后死掉的问题
  • 请教一个FIFO通信问题!
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)
  • 请教这种循环的执行过程


  • 站内导航:


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

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

    浙ICP备11055608号-3