SIM800H库使用出现问题,麻烦进来看一下
本帖最后由 GG1101 于 2017-6-20 21:02 编辑我前天在论坛上下载了SIM800H库文件,在使用 使能来电显示例程 的时候出现问题。用设定的号码手机打电话给SIM800H也打不通,后来我通过LCD1602打印 str 发现问题所在#include <sim800cmd.h>
//initialize the library instance
//fundebug is an application callback function,when someon is calling.
Sim800Cmd sim800demo(fundebug1);
//phone number buffer
char str = {'\0'};
//the setup routine runs once when you press reset:
void setup()
{
//initialize the digital pin as an output.
//initialize SIM800H,return 1 when initialize success.
while((sim800demo.sim800init()) == 0);
//enable SIM800H Modular Caller ID
sim800demo.DisplayPhoneNumber(OPEN);
}
//the loop routine runs over and over again forever:
void loop()
{
}
//application callback function
//Note that not too much to handle tasks in this function
void fundebug1(void)
{
//get the phone number
sim800demo.getCallnumber(str);
if(memcmp(str,"18668603728",11) == 0)
{
sim800demo.answerTelephone(); //answer
}
else
{
sim800demo.cancelCall();//hangs up
}
}
我用LCD1602打印出 str ,发现11位号码只显示了9位,前面的两位没有。根本不是11位完整的号码,而是668603728。出现这种情况不知怎么回事。
按照道理不会出现这种情况,以至于我用设定的号码的手机打电话都拦截,原因出现 str 上面。里面不是完整的11位手机号码,前面二位18没有,就是只有后面9位。麻烦大神帮我看看,找出原因 https://mc.dfrobot.com.cn/static/image/common/emp.gif https://mc.dfrobot.com.cn/static/image/common/emp.gif 图片在上面,拍的不好 打印str的代码直接是 “lcd.print(str);”吗 不清楚呀
页:
[1]