lc903807146 发表于 2012-8-2 09:25:31

SIM900A返回数据给单片机的问题

之前和单片机通信都是良好的,不知道最近怎么回事,来了条短信sim900a先发空字符和乱码,然后再来+CMTI那个,搞得不好判断。就是经常发点这个“痧痧痧痧痧痧痧痧痧痧痧”然后才来我想要的,被这个搞得好烦,我用的是双串口芯片,所以可以把sim900a发给单片机的东西再通过另一个发送到pc串口上看下东西到底对不不对。

gaoshou5432 发表于 2012-8-2 12:58:18

应该不会是模块的问题.看一下硬件部TTL部分是不是有些不稳定.或是有些干扰。是只有收到短信时有乱码吗?

lc903807146 发表于 2012-8-2 14:39:35

gaoshou5432 发表于 2012-8-2 12:58 static/image/common/back.gif
应该不会是模块的问题.看一下硬件部TTL部分是不是有些不稳定.或是有些干扰。是只有收到短信时有乱码吗? ...

以前还算正常,就是来短信的时候就先一串乱码,然后才来+CMTI那个,用的是单片机第二个串口,有可能是硬件问题,不过以前好少出现,一直测试都还挺正常的。

lc903807146 发表于 2012-8-2 15:42:39

gaoshou5432 发表于 2012-8-2 12:58 static/image/common/back.gif
应该不会是模块的问题.看一下硬件部TTL部分是不是有些不稳定.或是有些干扰。是只有收到短信时有乱码吗? ...

还有个奇怪的问题每次那个乱码还几乎都是固定的就是这个“痧痧痧痧痧痧痧痧”一串过来。

lc903807146 发表于 2012-8-6 19:43:14

gaoshou5432 发表于 2012-8-2 12:58 static/image/common/back.gif
应该不会是模块的问题.看一下硬件部TTL部分是不是有些不稳定.或是有些干扰。是只有收到短信时有乱码吗? ...

应该怎么减少这种干扰,我用nc7wz07电源转换芯片和单片机通信,单片机是5v的嘛。

gaoshou5432 发表于 2012-8-10 13:59:52

把电路发上来.让大家看看.

meirenai 发表于 2013-7-19 11:08:42

lc903807146 发表于 2012-8-6 19:43 static/image/common/back.gif
应该怎么减少这种干扰,我用nc7wz07电源转换芯片和单片机通信,单片机是5v的嘛。 ...

你好,你的问题解决了吗?我的问题和你惊人的相似,我用模块直接和电脑通过串口调试助手通信,不过我的串口同时也连接在了STC单片机的串口一的复用端口上(P3.6P3.7)了,并没有用单片机接收,用的是电脑直接接收从sim900发送来的数据,相当于电脑和单片机同时都能控制SIM900和接收SIM900返回的信息,也是返回“痧痧痧痧” 好多,我猜测是电源供电问题,正在测试,请问你的问题是什么

Appcat 发表于 2013-7-19 11:11:26

楼上的接法就是不靠谱的

Trylin 发表于 2013-7-19 11:24:07

是不是SIM900A的默认设置改变了?楼主可以这样处理,当串口有信息来就接收数据,直到等500ms确定串口没数据来,然后分析这段时间的数据,找到其中的关键字 +CMTI 就可以了

meirenai 发表于 2013-7-19 11:50:04

Appcat 发表于 2013-7-19 11:11 static/image/common/back.gif
楼上的接法就是不靠谱的

这样接是为了方便调试一下模块能不能正常工作,您的意思是要把和单片机的连接断开,只是PC机和SIM900通信吗?另外我这个问题是什么原因?电源不稳定吗?

Appcat 发表于 2013-7-19 12:07:40

meirenai 发表于 2013-7-19 11:50 static/image/common/back.gif
这样接是为了方便调试一下模块能不能正常工作,您的意思是要把和单片机的连接断开,只是PC机和SIM900通信 ...

UART是不能一对多的,只能点对点,否则轻则发送错误,重则烧管脚。

要监控串口的信息,只能是两根线分别接出来,接到PC机两个串口的RXD上,两个串口分别查看模块接收与发送的信息。

是不是电源问题,没有电路图都是瞎猜。

返回“痧痧痧痧”这些信息,不要瞎猜,弄个带16进制查看的串口软件看看到底是什么码。

meirenai 发表于 2013-7-19 13:28:31

Appcat 发表于 2013-7-19 12:07 static/image/common/back.gif
UART是不能一对多的,只能点对点,否则轻则发送错误,重则烧管脚。

要监控串口的信息,只能是两根线分别 ...

恩 多谢大师指点,我看了一下sim900大部分时候返回都是正常的,只是偶尔返回的数据时“痧痧痧痧。。。”,用HEX方式查看返回的是0xf0f0,此数据返回有一定的规律:一般情况下出现在短信发送成功后,贴图如下:

另外sim900部分的电路如下

sim900电源部分电路,参照pdf手册用的MIC29302

Appcat 发表于 2013-7-19 14:40:18

C22偏小了。钽电容一般要470uF,铝电解最好1000uF

meirenai 发表于 2013-7-19 15:10:45

Appcat 发表于 2013-7-19 14:40 static/image/common/back.gif
C22偏小了。钽电容一般要470uF,铝电解最好1000uF

恩,刚才测试的时候发现,并不是每次发短信都出现”痧痧痧...“,十几次有一次出现吧,汗~~~,现在换上电容试一下,不知道该怎么测试了?难道要不停的发短信来测试会不会出现”痧痧痧....“。
页: [1]
查看完整版本: SIM900A返回数据给单片机的问题