搜索
bottom↓
回复: 9

请教TC35I的AT指令的回车换行的判断方法?

[复制链接]

出0入4汤圆

发表于 2008-2-26 09:52:55 | 显示全部楼层 |阅读模式
1

AT指令词法,响应好像结束都是回车换行,
但是在当发送信息收到的"> "就不是以回车换行结束了,我现在对接收猫发过来的数据,处理起来好像都很免强似的.想听听大家是怎么做的


我本来是想这样做:在接收中断一直接收且判断是不是回车换行,如果是回车换行且接收到的数据大4就为有效数据(包含回车换行),但是问题就来了,"> "不是以其结尾的.所以这种判断方法是不行的

后来又改成用定时判断:一但有接收到数据就起启定时500ms(9600bps,最大接收( (256字节*1000ms)/(9600/8)字节 = 213.4ms),等到500ms到了再跟据当前的AT指令来判断指令是否正确执行(设一个变量来标识当前的AT命是什么)

要是能用前者就可以提高单片机的运行效率,但并不是全部以回车换行结束
而后者方法可行,但是太浪漫时间了,实时性不高,优点是可以过虑掉三个字符的干拢.

以下蓝色文字由站长:armok 于:2008-02-26,10:17:27 加入。
你的原标题:“<font color=black>用过西门子的TC35I进来一下
” 不合符规定。请更改成能说明帖子大意的标题
试想一下,如果本论坛的帖子标题清一色的‘帮助!’,‘ADC求救!’等笼统的标题,你在阅读的过程中会造成许多麻烦。
所以本论坛规定:一定要起一个能说明帖子大意的标题。不允许“关于 AVR 的 ADC 使用!”这种笼统标题。作为标题,必须说明清楚:
 ①你是在请教问题,还是在介绍有关的知识?
 ②ADC的问题有许多,你是想说那方面的内容?
注意以上两点,标题应该改成如:“请教:ADC 可以不使用中断吗?”。
起一个能说明帖子大意的标题,除了减轻我们的帖子分类整理工作,还方便其它人阅读,节省大家的时间。
注:使用合格的标题,对你来说只是举手之劳,但却会为我们的管理工作提供很大的便利。谢谢你的支持。

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2008-2-26 11:19:17 | 显示全部楼层
我记得TC35可以设置响应符为数字的,比如原来返回OK的可以让它返回0,具体查查TC35指令手册。

出1070入962汤圆

发表于 2008-2-26 11:19:40 | 显示全部楼层
没注意你说的现象,我印象中都是以回车换行结束的,就是0x0D 0x0A两个字符,处理起来也没什么问题啊。

出0入4汤圆

 楼主| 发表于 2008-2-26 13:54:23 | 显示全部楼层
gxlujd 彩虹,谢谢您的回答

你说的是不是这条件指令啊?

1

按上图说明默认为ATV1

那么它的格式应该就是
Information response: <CR><LF><text><CR><LF>              --->这应该是指tc35i应答的格式吧               
Long result code format: <CR><LF><verbose code><CR><LF>   --->长结果代码格式是TC35I发送的格式吗?



我的初始化代码是这样的
&#61664;出厂默认设置:发送“AT&F0”
&#61664;关闭自动回传命令:发送“ATE0”
&#61664;设置波特率:发送“AT+IPR=9600”  从自动波特率设成固定为9600
&#61664;设置支持字符格式:发送“AT+CSCS="GSM"” (我只用text格式)
&#61664;设置短信的格式:发送“AT+CMGF=1”
&#61664;设置短消息存储顺序:发送“AT^SSMSS=1”  //先存SIM卡再存手机存储器
&#61664;设置短信息的存储及通知格式:发送“AT+CNMI=2,1”
&#61664;设置本地短信中心号码:发送“AT+CSCA="+8613800595500"”


Appcat
也谢谢您,能不能把你的初始化TC35I的代码贴一下吗?

出1070入962汤圆

发表于 2008-2-26 14:59:54 | 显示全部楼层
刚开始用用的是MC35i,GPRS传输用的,后来无铅化改用MC39i,没用过TC35i。印象中模块在
AT命令状态下应答都是以回车换行结束的。
我的初始化比较的简单,就两个:
ATZ0
ATE0
然后看
AT+CREG的网络注册情况
AT+CSQ的信号强度
一切OK了就拨号了。

后来为了降低成本,改用了华为的GTM900系列啦。

出0入0汤圆

发表于 2008-2-26 15:08:51 | 显示全部楼层
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=905352&bbs_page_no=5&bbs_id=1000
可以看看这里的程序。

出0入0汤圆

发表于 2008-5-29 09:05:32 | 显示全部楼层
可以的  输入 ATV0  正确返回“0”,可以代替“OK”

出0入0汤圆

发表于 2009-12-2 09:38:30 | 显示全部楼层
Ring=strstr(RsBuf,"\r");
解释:
Ring=指针定义为:比如char *Ring

strstr=C字符串库函数,头文件string.h

RsBuf=字符串数组

\r=回车

这个语句的意思就是判断在RsBstr[]",....."Z这个数组里面有没有回车,有Ring返回回车的地址指针

这样够清除了把,在加个判断语句判断Ring是不是空,不为空那里字符串里面包含有回车了,并且指针指向回车地址

出0入0汤圆

发表于 2011-5-13 14:23:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-14 08:03:23 | 显示全部楼层
我有扩展短信指令的w801g模块,发信息不用编程,你就不用考虑>了
at^sms=号码 "内容"
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 12:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表