OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3315|回复: 5

新手求助!求个 战舰V3 控制 sim900a 发送 数据 程序

[复制链接]

4

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2016-5-17
在线时间
13 小时
发表于 2016-5-17 14:34:43 | 显示全部楼层 |阅读模式
1金钱
战舰V3 通过自带光敏传感器,以及 DHT11  采集数据并显示到lcd上已完成,要 驱动 sim900a 模块 将 采集数据发送至特定手机  程序编写感觉毫无头绪 。

最佳答案

查看完整内容[请看2#楼]

sim900a_send_cmd(AT,sizeof(AT),"OK",50); //同步波特率 rt_kprintf("AT\r\n"); sim900a_send_cmd(AT_CIPCLOSE,sizeof(AT_CIPCLOSE),"CLOSE OK",50); rt_kprintf("AT_CIPCLOSE\r\n"); sim900a_send_cmd(AT_CIPSHUT,sizeof(AT_CIPSHUT),"SHUT OK",50); rt_kprintf("AT_CIPSHUT\r\n"); sim900a_send_cmd(AT_CGCLASS,sizeof(AT_CGCLASS),"OK",400); rt_kprintf("AT_CGCLASS\r\n"); sim900a_send_cmd(AT_CGDCONT, ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2775
金钱
2775
注册时间
2015-6-1
在线时间
394 小时
发表于 2016-5-17 14:34:44 | 显示全部楼层
欧大叔 发表于 2016-10-21 20:41
你最后调出来了吗?   我的板子和串口助手可以通信,sim900也可以通信,但是sim900和板子就通信不了   波特 ...

        sim900a_send_cmd(AT,sizeof(AT),"OK",50);                //同步波特率
        rt_kprintf("AT\r\n");
        sim900a_send_cmd(AT_CIPCLOSE,sizeof(AT_CIPCLOSE),"CLOSE OK",50);
        rt_kprintf("AT_CIPCLOSE\r\n");
        sim900a_send_cmd(AT_CIPSHUT,sizeof(AT_CIPSHUT),"SHUT OK",50);
        rt_kprintf("AT_CIPSHUT\r\n");
        sim900a_send_cmd(AT_CGCLASS,sizeof(AT_CGCLASS),"OK",400);
        rt_kprintf("AT_CGCLASS\r\n");
        sim900a_send_cmd(AT_CGDCONT,sizeof(AT_CGDCONT),"OK",50);
        rt_kprintf("AT_CGDCONT\r\n");
//还有好多条,看你使用SIM900A的什么功能


uint8 sim900a_send_cmd(uint8 *cmd,uint8 length,uint8 *ack,uint16 time)
{
        int temp = 0;
    uint8 buf[500];

        while(temp<length-1)           //-1是因为取长度时最后一位会多出来一个0
        {
                while((USART3->SR&0X40)==0);  
                USART3->DR = cmd[temp];
                temp++;
        }
        rt_thread_delay(time);
    // 读取串口数据
    rt_UartReadGSM(buf);                 //GSM模块每次得到的数据为80字节左右
        if (rt_strstr((const char*)buf, (const char*)ack))//
        {
                return 1;
        }
        else
        {
                rt_kprintf("NOK~~  ");
                return 0;
        }

}


意思就是向sim900A发指令,然后它会自动回复OK   CONNECT OK之类的消息,你就去检测它的消息是不是自己想要的。这个是自己照着某个代码改的,你也自己改改。发送就四行代码,主要是怎么接收怎么解析改改就行了。
自在随心
回复

使用道具 举报

4

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2016-5-17
在线时间
13 小时
 楼主| 发表于 2016-5-17 14:35:15 | 显示全部楼层
求助各位万分感谢
回复

使用道具 举报

4

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2016-5-17
在线时间
13 小时
 楼主| 发表于 2016-5-18 12:43:21 | 显示全部楼层
顶个贴无耻的 伸个手
回复

使用道具 举报

6

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2016-4-16
在线时间
12 小时
发表于 2016-5-24 22:02:50 | 显示全部楼层
最近我也在搞这个程序。我一直了原子的代码,可是一直通信失败。
回复

使用道具 举报

3

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2016-1-11
在线时间
8 小时
发表于 2016-10-21 20:41:51 | 显示全部楼层
giant_huang 发表于 2016-5-24 22:02
最近我也在搞这个程序。我一直了原子的代码,可是一直通信失败。

你最后调出来了吗?   我的板子和串口助手可以通信,sim900也可以通信,但是sim900和板子就通信不了   波特率都是9600
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-24 06:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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