求助(梦想家系列-SIM900 GSM 模块)默认代码无法上传
上网买了一个梦想家系列的通信模块,用源代码试下,结果出现了这个问题:我是完整复制过来的
这个代码是不认还是有问题,求看下
//////////////////////////////////////////////////////////////////
// SIM900 GSM/GPRS模块驱动
//模块使用7.5V电源供电,在测试时必须插入SIM卡
//////////////////////////////////////////////////////////////////
#include <Wire.h>
#defineGprsPWR 37 //模块电源开关信号,处理器输出高电平会导致模块拉低PWRKEY来开启和关闭模块。 用户可以通过 拉低PWERKEY 保持至少1秒然后释放来开启和关闭模块。
#defineGprsNRST 2 //外部复位控制脚,处理器控制信号给高电平,导致模块管脚复位低电平复位。
#defineGprsSTATUS10 //模块状态输出管脚,低电平:模块掉电,高电平:模块在工作状态,模块电源开关或者模块复位后至少需要等待2.5秒后才能检查STATUS管脚状态。
////////////////////////////////////////////////////////////////////////////////////
//函数原型:void GprsPWRkey(void)
//参数说明:无
//返回值: 无
//说明: GPRS模块开关机时序
///////////////////////////////////////////////////////////////////////////////////
void GprsPWRkey(void)
{
digitalWrite(GprsPWR,HIGH);
delay(1500);//至少维持1秒钟
digitalWrite(GprsPWR,LOW);
delay(2500);//等待2.5秒后,在去检测STATUS管脚,STATUS低电平:模块掉电,高电平:模块在工作状态
}
////////////////////////////////////////////////////////////////////////////////////
//函数原型:void GprsReset(void)
//参数说明:无
//返回值: 无
//说明: GPRS模块复位时序
///////////////////////////////////////////////////////////////////////////////////
void GprsReset(void)
{
digitalWrite(GprsNRST,HIGH);
delayMicroseconds(50);//至少50US复位信号
digitalWrite(GprsNRST,LOW);
delay(2500);//等待2.5秒后,在去检测STATUS管脚,STATUS低电平:模块掉电,高电平:模块在工作状态
}
////////////////////////////////////////////////////////////////////////////////////
//函数原型:void GprsInit(void)
//参数说明:无
//返回值: 开机状态, 0:模块掉电1:模块在工作状态
//说明: GPRS初始化
///////////////////////////////////////////////////////////////////////////////////
int GprsInit(void)
{
int temp = 0;
pinMode(GprsPWR,OUTPUT); //将各个控制IO设置为输出
pinMode(GprsNRST,OUTPUT);
pinMode(GprsSTATUS,INPUT);
Serial.begin(9600); //使用serial 2 和 GPRS通信
Serial2.begin(9600); //使用serial 2 和 GPRS通信
GprsReset();//模块复位
return temp;
}
////////////////////////////////////////////////////////////////////////////////////
//函数原型:void GprsInit(void)
//参数说明:无
//返回值: 无
//说明: GPRS模块测试,打电话,在串口调试终端输入ATDxxxxx13800138000;回车换行 拨打电话
// 发送AT+CSQ回车换行 查询信号强度。在这里可以测试各种AT指令
///////////////////////////////////////////////////////////////////////////////////
void GprsTest(void)
{
Serial2.print("A");//发送一个大写字母A来同步GPRS模块的波特率
//发送短信
Serial2.println("AT+CMGF=1");
Serial.println("AT+CMGF=1");
delay(1000);
Serial2.println("AT+CMGS=\"13800138000\"");//xxx为电话号码
Serial.println("AT+CMGS=\"13800138000\"");//xxx为电话号码
delay(1000);
Serial2.print("TEST");
Serial.print("TEST");
delay(1000);
Serial2.write(26);
Serial2.write(26);
Serial2.println();
delay(5000);
// SMS to 10086 for Queky
Serial2.println("AT+CMGS=\"10086\"");//xxx为电话号码
Serial.println("AT+CMGS=\"10086\"");//xxx为电话号码
delay(1000);
Serial2.print("YE");
Serial.print("YE");
delay(1000);
Serial2.write(26);
Serial2.write(26);
Serial2.println();
while(1){
if(Serial.available())//读取 USB串口数据将数据发送给GPRS模块
{
char input = Serial.read();
Serial2.print(input);
}
if( Serial2.available())//接收 GPRS模块返回数据,将数据显示到USB串口终端
{
char input2 = Serial2.read();
Serial.print(input2);
}
}
}
void setup()
{
GprsPWRkey();
GprsInit();
delay(2000);
//GprsReset();
GprsTest();
}
void loop()
{
}
帮忙,谢谢,不然买了不会用就尴尬了,我一介布衣..........
沙发{:5_138:} 板凳{:5_137:} 来个人说一句呀,42个浏览,没一个人回 1973742214 发表于 2018-3-24 11:22
来个人说一句呀,42个浏览,没一个人回
我会转告我们技术支持,尽快帮您看一下这个问题 阿虚利 发表于 2018-3-24 15:39
我会转告我们技术支持,尽快帮您看一下这个问题
谢谢{:5_122:} 您好,板型请选择Arduino mega2560,如下图所示。 请选择板型为Arduino mega2560. 意思是,这个只能用MEGA驱动吗?
页:
[1]