Добрый день помогите с ошибкой. не могу понять почему вылазит ошибка, самое что интересное что этот скетч работал я его проверял он был без надобности .а сейчас есть нужда поставить сигналку в гараже но пишет ошибку. при проверке ошибка вот в этой строчке sms.GetSMS(1,n,20,smsbuffer,160); пишет exit status 1 no matching function for call to 'SMSGSM::GetSMS(int, char [20], int, char [160], int)' Спасибо. Код (C++): #include <call.h> #include <gps.h> #include <GSM.h> #include <HWSerial.h> #include <inetGSM.h> #include <LOG.h> #include <SIM900.h> #include <sms.h> #include <Streaming.h> #include <WideTextFinder.h> #include "SIM900.h" #include <SoftwareSerial.h> #include "sms.h" #include "call.h" SMSGSM sms; CallGSM call; //=================Пины 2 и 3 для Подключения GSM модуля int sensor1=0; // дачик движения int flag1=0; boolean started=false; char smsbuffer[160]; char n[20]; String n1 = "+79022577700"; String input_string = ""; String smsContent = ""; char sirena[] = "Sirena vkluchena!"; char PowerOFF[] = "Snyato s ohrani"; char smsDv[] ="Wnimaniye! Dvijeniye na objekte!"; char smsDve[] ="Wnimaniye! Dver otkrita!"; //=== дверь открыта char smsW[] ="Postanovka na ohranu!"; char pos; char sendsms[160]; void setup() { pinMode(10, OUTPUT); // Пассивный зумер (сигнал) pinMode(7, OUTPUT); Serial.begin(9600); pinMode(4, INPUT); // датчик движения // digitalWrite(4, HIGH); pinMode(5, INPUT); // еще какой-нибудь датчик ( геркон) // digitalWrite(5, HIGH); if (gsm.begin(4800)) { Serial.println("\nstatus=READY"); started=true; } else Serial.println("\nstatus=IDLE"); } void loop() { //===========================Первое срабатывание датчика двери if ((digitalRead(5)==HIGH) && sensor1==1 && flag1==0){ n1.toCharArray(n,20); sms.SendSMS(n, smsDve); // Посылаем СМС о том, что дверь открыта sms.DeleteSMS(1);memset(n,0,20); char smsbuffer[160]=""; flag1++; // delay(5000); // Ждем 5 секунд } //===========================Второе срабатывание датчика двери if ((digitalRead(5)==HIGH) && sensor1==1 && flag1==1){ n1.toCharArray(n,20); sms.SendSMS(n, sirena); // Посылаем СМС о том, что сирена включена sms.DeleteSMS(1);memset(n,0,20); char smsbuffer[160]=""; flag1++; delay(5000); // Ждем 5 секунд } //===========================Первое срабатывание датчика движения if ((digitalRead(4)==HIGH) && sensor1==1 && flag1==0){ n1.toCharArray(n,20); sms.SendSMS(n, smsDv); // Посылаем СМС о том, что есть движение sms.DeleteSMS(1);memset(n,0,20); char smsbuffer[160]=""; flag1++; delay(5000); // Ждем 5 секунд } //===========================Повторное срабатывание датчика движения и/ или двери if ((digitalRead(4)==HIGH) && sensor1==1 && flag1==1){ n1.toCharArray(n,20); sms.SendSMS(n, sirena); // Посылаем СМС о том, что включена сирена sms.DeleteSMS(1);memset(n,0,20); char smsbuffer[160]=""; flag1++; } if (flag1>=2){ tone(10, 2780, 200); // Сирена } pos = sms.IsSMSPresent(SMS_UNREAD); // смотрим непрочитанные СМС if (pos) { // Если непрочитанные СМС есть, то... getsms(); // получаем непрочитанную СМС if (input_string=="0"){Serial.print("Snyato s ohrani!");n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20); // Команда "0" - снять с охраны sensor1=0;digitalWrite(4,LOW);input_string=""; char smsbuffer[160]=""; flag1=0;} if (input_string=="1"){Serial.print("Postanovka na ohranu!");n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20); // Команда "1" - Поставить на охрану sensor1=1; input_string=""; char smsbuffer[160]=""; flag1=0;} sms.DeleteSMS(pos); // удаляем СМС из симки } } void getsms() { sms.GetSMS(1,n,20,smsbuffer,160); input_string =String(smsbuffer); }
Что это за фигня #include <HWSerial.h> ?У Вас какое то чудовищное нагромождение библиотек вот они и конфликтуют.