zhaojianguo 发表于 2006-5-18 10:31:41

有谁搞过用手机短信报警和串输数据,请指点一下,程序怎么编

有谁搞过用手机短信报警和串输数据,请指点一下,程序怎么编

marker 发表于 2006-5-18 13:36:25

用工业模块。如不明白请继续跟贴,我在这方面有3年的开发经验了。

hjjft 发表于 2006-5-18 20:08:35

了解AT指令就行了

shangxd 发表于 2006-5-18 21:39:23

请问是不是通过串口给手机发送AT命令,然后再从手机接收信息,比如短消息之类的?

marker 发表于 2006-5-19 08:35:29

这是正解。

alisha 发表于 2006-5-19 10:37:35

听起来好复杂,有例子?

zhaojianguo 发表于 2006-5-19 11:09:53

marker能给出一些图纸和例程吗,谢谢了

zhouhua 发表于 2006-5-19 11:53:21

你可以到ATMEL网站上下载 AVR323 这一个PDF和软件,是一个AVR与GSM通讯的应用笔记,如果不清楚,可以MSN:zhou.hua2006@hotmail.com

zhaojianguo 发表于 2006-5-19 12:23:34

谢谢楼上指点

marker 发表于 2006-5-19 12:28:08

先给个文档给你吧。如果不明白我写个例程吧。(没办法我不能和公司产品的例程一样。)

不过你看完下面的文档应该可以自己编写例程了。

点击此处打开armok01118001.pdf

点击此处打开armok01118002.pdf

zhaojianguo 发表于 2006-5-19 13:03:28

多谢了,有没有谁用单片机跟对讲机(TETRA)连起来发短信的?

alisha 发表于 2006-5-19 13:15:12

全英文的啊!MARKER可不可以先讲一下流程,再点明关键的注意事项,让我等后生有个概念先。

zhaojianguo 发表于 2006-5-19 13:23:16

这是个好题目,知道的请多讲讲,仔细点

shangxd 发表于 2006-5-19 14:19:25

那如果手机收到了短消息,会自动发送给PC的串口吗?

marker 发表于 2006-5-19 15:59:49

基本流程:

初始化:

//我用的是TEXT模式,如传输中文需用PDU模式。

//

void Init_Modem(void)

{

        wdt_reset();                            

        Uasrt0_put_s("ATV1");      //full headers verbose response text

        delay_ms(100);                            

        Uasrt0_put_s("ATE0");      //Characters are not echoed

        delay_ms(100);

        Uasrt0_put_s("AT+IPR=9600"); //set bauds rate

        delay_ms(100);

        Uasrt0_put_s("AT+CMGF=1");   //Text mode

        delay_ms(100);

        Uasrt0_put_s("AT+CMEE=1");   //ERROR result codes

        delay_ms(100);

        Uasrt0_put_s("AT&W");      //save config

        delay_ms(100);

        Uasrt0_put_s("AT+CMGD=1,4"); //All messages are deleted

        wdt_reset();               //rest watch dog

}

ISR(USART0_RX_vect)

{

//串口中断服务

}

//当短信到来时模块的串口自动会发送CMTI信息。根据CMTI你可以发送AT+CMGR=<index>来读取,如AT+CMGR=1 读取第一条短信。

一般不传输中文基本上用如下几条命令

AT+CMGR //读短信

AT+CMGS //发送短信

AT+CMGD //删除短信

AT+CSCA //设置短信中心

你在网上找找,应该有不少这种文档。

如果你要其它操作如:管理出错信息,查看小区球信息那只能看文档了。

Q:shangxd 那如果手机收到了短消息,会自动发送给PC的串口吗?

A:短信提示是自动的,但短信内容你要发AT+CMGR=<index>去读。而且是短信提示随机的,只要收到短信就发短信提示。

由于模块的串口发过来新短信提示是随机的,如果你的程序用中断来处理就不能大占用中断服务时间,基本上接收完马上退出中断。如果你用定时查询的方式则不存在这个问题。

文档附录有一些应用例子。可以先看看。

zhaojianguo 发表于 2006-5-19 16:16:10

多谢了

zhaojianguo 发表于 2006-5-19 16:34:55

多谢了

alisha 发表于 2006-5-19 16:46:58

谢谢MARKER,有空我试试,现在还是看不太明白,以前没接触过。

popo_new 发表于 2013-11-20 08:28:40

老帖子了,现在的做法是如何呢?
页: [1]
查看完整版本: 有谁搞过用手机短信报警和串输数据,请指点一下,程序怎么编