请教TC35I的AT指令的回车换行的判断方法?
1http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_219882.jpgAT指令词法,响应好像结束都是回车换行,
但是在当发送信息收到的"> "就不是以回车换行结束了,我现在对接收猫发过来的数据,处理起来好像都很免强似的.想听听大家是怎么做的
我本来是想这样做:在接收中断一直接收且判断是不是回车换行,如果是回车换行且接收到的数据大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 可以不使用中断吗?”。
起一个能说明帖子大意的标题,除了减轻我们的帖子分类整理工作,还方便其它人阅读,节省大家的时间。
注:使用合格的标题,对你来说只是举手之劳,但却会为我们的管理工作提供很大的便利。谢谢你的支持。
./bbs_upload/files_6/armok01122228.gif 我记得TC35可以设置响应符为数字的,比如原来返回OK的可以让它返回0,具体查查TC35指令手册。 没注意你说的现象,我印象中都是以回车换行结束的,就是0x0D 0x0A两个字符,处理起来也没什么问题啊。 gxlujd 彩虹,谢谢您的回答
你说的是不是这条件指令啊?
1http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_219995.jpg
按上图说明默认为ATV1
那么它的格式应该就是
Information response: <CR><LF><text><CR><LF> --->这应该是指tc35i应答的格式吧
Long result code format: <CR><LF><verbose code><CR><LF> --->长结果代码格式是TC35I发送的格式吗?
我的初始化代码是这样的
出厂默认设置:发送“AT&F0”
关闭自动回传命令:发送“ATE0”
设置波特率:发送“AT+IPR=9600” 从自动波特率设成固定为9600
设置支持字符格式:发送“AT+CSCS="GSM"” (我只用text格式)
设置短信的格式:发送“AT+CMGF=1”
设置短消息存储顺序:发送“AT^SSMSS=1” //先存SIM卡再存手机存储器
设置短信息的存储及通知格式:发送“AT+CNMI=2,1”
设置本地短信中心号码:发送“AT+CSCA="+8613800595500"”
Appcat
也谢谢您,能不能把你的初始化TC35I的代码贴一下吗? 刚开始用用的是MC35i,GPRS传输用的,后来无铅化改用MC39i,没用过TC35i。印象中模块在
AT命令状态下应答都是以回车换行结束的。
我的初始化比较的简单,就两个:
ATZ0
ATE0
然后看
AT+CREG的网络注册情况
AT+CSQ的信号强度
一切OK了就拨号了。
后来为了降低成本,改用了华为的GTM900系列啦。 http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=905352&bbs_page_no=5&bbs_id=1000
可以看看这里的程序。 可以的输入 ATV0正确返回“0”,可以代替“OK” Ring=strstr(RsBuf,"\r");
解释:
Ring=指针定义为:比如char *Ring
strstr=C字符串库函数,头文件string.h
RsBuf=字符串数组
\r=回车
这个语句的意思就是判断在RsBstr[]",....."Z这个数组里面有没有回车,有Ring返回回车的地址指针
这样够清除了把,在加个判断语句判断Ring是不是空,不为空那里字符串里面包含有回车了,并且指针指向回车地址 mark 我有扩展短信指令的w801g模块,发信息不用编程,你就不用考虑>了
at^sms=号码 "内容"
页:
[1]